cocos2d游戏暂停页面的实现
2012-07-13 12:11
381 查看
#import<Foundation/Foundation.h> #import"cocos2d.h" @interfacePauseLayerProtocol:CCNode -(void)pauseLayerDidPause; -(void)pauseLayerDidUnpause; @end @interfacePauseLayer:CCLayerColor { PauseLayerProtocol*delegate; } @property(nonatomic,assign)PauseLayerProtocol*delegate; +(id)layerWithColor:(ccColor4B)colordelegate:(PauseLayerProtocol*)_delegate; -(id)initWithColor:(ccColor4B)cdelegate:(PauseLayerProtocol*)_delegate; -(void)pauseDelegate; @end
#import"PauseLayer.h" @implementationPauseLayer @synthesizedelegate; +(id)layerWithColor:(ccColor4B)colordelegate:(id)_delegate { return[[[selfalloc]initWithColor:colordelegate:_delegate]autorelease]; } -(id)initWithColor:(ccColor4B)cdelegate:(id)_delegate { self=[superinitWithColor:c]; CGSizewins=[[CCDirectorsharedDirector]winSize]; delegate=_delegate; [selfpauseDelegate]; if(self!=nil) { CCSprite*background=[CCSpritespriteWithSpriteFrameName:@"background.png"]; [selfaddChild:background]; CCSprite*backBtn=[CCSpritespriteWithSpriteFrameName:@"back.png"]; CCSprite*resumeGameBtn=[CCSpritespriteWithSpriteFrameName:@"newBegin.png"]; CCMenuItemImage*back=[CCMenuItemImageitemFromNormalSprite:backBtn selectedSprite:nil target:self selector:@selector(goBack:)]; CCMenuItemImage*resumeGame=[CCMenuItemImageitemFromNormalSprite:resumeGameBtn selectedSprite:nil target:self selector:@selector(resumeGame:)]; CCMenu*menu=[CCMenumenuWithItems:back,resumeGame,nil]; [menusetPosition:ccp(0,0)]; [backsetPosition:ccp([backgroundboundingBox].size.width/2,[backgroundboundingBox].size.height*0.75)]; [resumeGamesetPosition:ccp(back.position.x,back.position.y-40)]; [backgroundaddChild:menu]; [backgroundsetPosition:ccp(wins.width*0.5,wins.height*0.5)]; } returnself; } -(void)pauseDelegate { if([delegaterespondsToSelector:@selector(pauseLayerDidPause)]) [delegatepauseLayerDidPause]; [delegateonExit]; [delegate.parentaddChild:selfz:10]; } -(void)goBack:(id)sender { [delegateonEnter]; if([delegaterespondsToSelector:@selector(pauseLayerDidUnpause)]) [delegatepauseLayerDidUnpause]; [self.parentremoveChild:selfcleanup:YES]; } -(void)resumeGame:(id)sender { [selfperformSelector:@selector(goBack:)]; GameScene*gameScene=[GameScenesharedGameScene]; [gameSceneremoveAllChildrenWithCleanup:YES]; [gameSceneresetGame]; } -(void)dealloc { [superdealloc]; } @end 游戏界面的调用
-(void)doPause
{
[GameCoversetIsGameCoverPressed:NO];
ccColor4Bc={0,0,0,150};
[PauseLayerlayerWithColor:cdelegate:(PauseLayerProtocol*)];
}
相关文章推荐
- cocos2d-x 实现按Home和待机键后,再进入游戏显示暂停界面
- Cocos2d-x游戏暂停、继续游戏、重新开始界面的实现---之游戏开发《赵云要格斗》(10)
- cocos2d-x 实现按Home和待机键后,再进入游戏显示暂停界面
- cocos2d-x 实现按Home和待机键后,再进入游戏显示暂停界面
- Cocos2d-X 对刚进入游戏时的实现(即页面显示“正在加载。。。。。”)
- cocos2d-x-2.1.3 中实现游戏的简单暂停与恢复
- Cocos2d-x3.1下实现相似iOS页面滑动指示圆点
- Cocos2d-x学习(十四):用cocos2d-x实现MoonWarriors(暂停和恢复的实现)
- 【cocos2d-x IOS游戏开发-捕鱼达人6】实现开始菜单
- cocos2d-x 游戏暂停界面,监听home键,返回键,Menu键 解决方案
- Cocos2D游戏之旅(二):主角血条的实现
- [置顶] Cocos2d-x学习(十四):用cocos2d-x实现MoonWarriors(暂停和恢复的实现)
- Cocos2d-x教程(10)-CCProgressTimer实现页面加载进度条效果
- 【iOS-Cocos2d游戏开发之二十二 】CCSpeed实现CCAnimate动画进行时设置慢动作以及设置游戏加减速进行(塔防游戏必备)! .
- 【cocos2d-x】游戏构成要素③----游戏关卡的实现
- 如何在Cocos2D游戏中实现A*寻路算法(四)
- 如何在Cocos2D游戏中实现A*寻路算法(八)
- [cocos2d-x][游戏开发]通过cocos2d-x实现简易飞机大战 03.游戏界面 背景层实现滚动
- cocos2d-x学习笔记(一)塔防类游戏道具系统开发(上)定时炸弹和轰炸的实现
- 重新实现一遍cocos2d-x手机游戏编程一书中的魔塔源码