Scene(场景)(转)

[size=small;]原地址:[/size][url=http://hi.baidu.com/you5a_com/item/1c57d52dba2cc90672863e4d]http://hi.baidu.com/you5a_com/item/1c57d52dba2cc90672863e4d[/url]


[b]场景初始化:[/b]

+(id) scene {

CCScene *scene = [CCScene node];

CCLayer* layer = [HelloWorld node];

[scene addChild:layer];

return scene;

}


第一个创建场景的地方是在AppDelegate中aplicationDidFinishLaunching方法结束处.

[[CCDirector sharedDirector] runWithScene:[HelloWorld scene]];

用replaceScene方法来替换已有的场景:
[[CCDirector sharedDirector] replaceScene:[HelloWorld scene]];


[b]场景上下左右场景切入方式:[/b]

//从右往左切入
-(void)TurnToNextScene:(id)sender{

[[SimpleAudioEngine sharedEngine]stopBackgroundMusic];

[[CCDirector sharedDirector]replaceScene:[CCTransitionSlideInR transitionWithDuration:1.0 scene:[PaperWindWill_iPhone scene]]];
}

//从左往右切入
-(void)TurnToPresviousScene:(id)sender{

[[SimpleAudioEngine sharedEngine]stopBackgroundMusic];

[[CCDirector sharedDirector]replaceScene:[CCTransitionSlideInL transitionWithDuration:1.0 scene:[LittleCarpenter_iPhone scene]]];

}

//从下往上切入

-(void)TurnToMenuScene:(id)sender{

[[SimpleAudioEngine sharedEngine]stopBackgroundMusic];

[[CCDirector sharedDirector]replaceScene:[CCTransitionSlideInT transitionWithDuration:1.0 scene:[Menu_iPhone scene]]];

}

//从上往下切入

[[CCDirector sharedDirector]replaceScene:[CCTransitionSlideInB transitionWithDuration:1.0scene:[Menu_iPhone scene]];


[b]暂停、返回[/b]

[[CCDirector sharedDirector] pause];

[[CCDirector sharedDirector] resume];


[b]推进(Pushing)和弹出(Popping)场景:[/b]

设置场景:

[[CCDirector sharedDirector] pushScene:[Settings scene]];

关闭场景:

[[CCDirector sharedDirector] popScene];


[b]用CCDirector replaceScene方法替换场景时, 每个节点都会调用CCNode所带的三个方法.[/b]

[b]这三个方法是: onEnter, onEnterTransitionDidFinish和onExit[/b]

-(void) onEnter {
// 节点调用init方法以后将会调用此方法
// 如果使用了CCTransitionScene,将会在过渡效果开始以后调用此方法

[super onEnter];
}
-(void) onEnterTransitionDidFinish {
// 调用onEnter以后将会调用此方法
// 如果使用了CCTransitionScene,将会在过渡效果结束以后调用此方法
[super onEnterTransitionDidFinish];
}
-(void) onExit {
// 节点调用dealloc方法之前将会调用此方法
// 如果使用了CCTransitionScene,将会在过渡效果结束以后调用此方法

[super onExit];
}


警告:永远不要在一个节点的init方法中调用CCDirector的replaceScene方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值