如何使用报警视图在cocos2dcocos2dx 重启游戏戏场景问题,怎么解决

如何创建Cocos2D游戏中的暂停画面
Birds的朋友对游戏中的暂停画面都有印象:
那么这种暂停画面是如何实现的呢?
如果用CCDirector的pause和resume肯定没法达到这种效果。
这里将使用一种定制的类来实现暂停效果:
1.类文件代码
PauseLayer.h
&Foundation/Foundation.h&
#import "cocos2d.h"
@interface PauseLayerProtocol: CCNode
-(void)pauseLayerDidP
-(void)pauseLayerDidU
@interface PauseLayer : CCLayerColor {
PauseLayerProtocol *
@property (nonatomic,assign)PauseLayerProtocol *
+ (id) layerWithColor:(ccColor4B)color delegate:(PauseLayerProtocol
- (id) initWithColor:(ccColor4B)c delegate:(PauseLayerProtocol
-(void)pauseD
PauseLayer.m
PauseLayer.m
//& Created
by Pablo Ruiz on 06/06/11.
Copyright 2011 PlaySnack. All rights reserved.
#import "PauseLayer.h"
@implementation PauseLayer
+ (id) layerWithColor:(ccColor4B)color
delegate:(id)_delegate
return [[[self alloc] initWithColor:color delegate:_delegate]
autorelease];
- (id) initWithColor:(ccColor4B)c delegate:(id)_delegate
self = [super initWithColor:c];
if (self != nil) {
CGSize wins = [[CCDirector sharedDirector] winSize];
delegate = _
[self pauseDelegate];
CCSprite * background = [CCSprite
spriteWithFile:@"pause_background.png"];
[self addChild:background];
CCMenuItemImage *resume = [CCMenuItemImage
itemFromNormalImage:@"pause_btn_resume.png"
&&&&&&&&&&&&&
&selectedImage:@"pause_btn_resume_dwn.png"
&&&&&&&&&&&&&
target:self
&&&&&&&&&&&&&
&selector:@selector(doResume:)];
CCMenu * menu = [CCMenu menuWithItems:resume,nil];
[menu setPosition:ccp(0,0)];
[resume setPosition:ccp([background
boundingBox].size.width/2,[background
boundingBox].size.height/2)];
[background addChild:menu];
[background
setPosition:ccp(wins.width/2,wins.height/2)];
-(void)pauseDelegate
if([delegate
respondsToSelector:@selector(pauseLayerDidPause)])
[delegate pauseLayerDidPause];
[delegate onExit];
[delegate.parent addChild:self z:10];
-(void)doResume: (id)sender
[delegate onEnter];
if([delegate
respondsToSelector:@selector(pauseLayerDidUnpause)])
[delegate pauseLayerDidUnpause];
[self.parent removeChild:self cleanup:YES];
-(void)dealloc
[super dealloc];
2.如何使用
在实际使用的时候,只需要在游戏的场景层导入PauseLayer.h这个头文件,然后调用以下方法即可:
-(void)doPause
& ccColor4B c
={0,0,0,150};
& [PauseLayer
layerWithColor:c delegate:self];
我用了一个简单的HelloWorld项目来测试是正常的:
首先在HelloWorldLayer.m的顶部添加
"PauseLayer.h"
在init方法中添加以下代码:
CCMenuItem*pauseButton&
= [CCMenuItemImage
itemWithNormalImage:@"playbutton.png"
selectedImage:@"playbutton.png"
target:self
selector:@selector(doPause)];
pauseButton.position
ccp(size.width*0.3,size.height*0.3);
*menu = [CCMenu
menuWithItems:pauseButton,
menu.position&
CGPointZero;
addChild:menu];
然后添加以下方法:
-(void)doPause
c = {0,0,0,150};
[PauseLayer
layerWithColor:c
delegate:self];
&参考链接:/blog/2011/09/cocos2d-tutorial-creating-a-reusable-pause-layer/
备注:我在使用的时候发现一个问题,如果把.m文件名后缀修改为mm(比如要用到Box2D物理引擎),那么编译是无法通过的。
如果有谁解决了这个问题,请告知方法。谢谢了。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。主题 : 关于cocos2d-JS替换场景的问题
级别: 新手上路
UID: 537951
可可豆: 37 CB
威望: 21 点
在线时间: 12(时)
发自: Web Page
来源于&&分类
关于cocos2d-JS替换场景的问题&&&
我是cocos2d-x的新手,现在在学习用jsb来开发安卓游戏,装了cocos code ide2.0,CocosFramework-V3.9-Windows,下面贴我的工具和环境,都配置好了,并且新建项目也运行成功。
&&那么问题来了,我跟着官方的js文档教程走,做那个sushi的demo,学到场景切换那里,文档里用的是replaceScene, 我在idea里用 replaceScene不行啊,根本没有这个方法啊,没办法只能暂时用pushScene 请教各位大神,这是怎么回事?是我的什么版本不对吗?
级别: 新手上路
UID: 537951
可可豆: 37 CB
威望: 21 点
在线时间: 12(时)
发自: Web Page
求大神帮帮忙
级别: 新手上路
UID: 537951
可可豆: 37 CB
威望: 21 点
在线时间: 12(时)
发自: Web Page
实测,在浏览器下测试replaceScene不行,但是在win32和安卓下是测试通过的,为什么在idea里面没有提示呢,replaceScene方法也没有高亮显示呢?[ 此帖被bobop在 12:02重新编辑 ]
级别: 新手上路
UID: 401145
可可豆: 15 CB
威望: 6 点
在线时间: 41(时)
发自: Web Page
不是runScene嘛!
级别: 新手上路
UID: 537951
可可豆: 37 CB
威望: 21 点
在线时间: 12(时)
发自: Web Page
回 3楼(李磊) 的帖子
runScene的确可以用,但是replaceScene性能更好一些
级别: 新手上路
UID: 401145
可可豆: 15 CB
威望: 6 点
在线时间: 41(时)
发自: Web Page
cc.Director.prototype.runScene = function(scene){&&&&if (!this.getRunningScene()) {&&&&&&&&this.runWithScene(scene);&&&&}&&&&else {&&&&&&&&this.replaceScene(scene);&&&&}};你看看人家runScene怎么写的!
级别: 新手上路
UID: 537951
可可豆: 37 CB
威望: 21 点
在线时间: 12(时)
发自: Web Page
回 5楼(李磊) 的帖子
明白了,谢谢!受教了,跟着教程走的,没有去注意源码.........
关注本帖(如果有新回复会站内信通知您)
苹果公司现任CEO是谁?2字 正确答案:库克
发帖、回帖都会得到可观的积分奖励。
按"Ctrl+Enter"直接提交
关注CocoaChina
关注微信 每日推荐
扫一扫 浏览移动版ThankCreate
前点团队365号队员
前国际项目合作组
前UT项目组
前百度PC客户端RD
现ThankCreate工作室主厨}

我要回帖

更多关于 cocos 重启游戏 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信