本节书摘来异步社区《Cocos2d 跨平台游戏开发指南(第2版)》一书中的第2章,第2.7节,作者: 【印度】Siddharth Shekar(谢卡)译者: 武传海 责编: 胡俊英,更多章节内容可以访问云栖社区“异步社区”公众号查看。
2.7 添加过渡效果
如果你认为添加过渡效果十分酷炫,你可以在Cocos2d中添加切换场景时的过渡效果,这十分简单。
2.7.1 准备工作
我们真正需要做的是,在playBtnPressed函数中,使用设置过渡效果的代码代替前面所写的代码。创建过渡效果时,需要使用CCTransition类。
2.7.2 操作步骤
在playBtnPressed函数中,使用如下粗体代码代替上一节编写的代码。
-(void)playBtnPressed:(id)sender{
CCLOG(@"play button pressed");
//[[CCDirector sharedDirector] replaceScene:[[GameplayScene alloc]
initWithLevel:@"1"]];
CCTransition *transition = [CCTransition
transitionPushWithDirection:
CCTransitionDirectionLeft duration:0.20];
[[CCDirector sharedDirector]replaceScene:[[GameplayScene alloc]
initWithLevel:@"1"] withTransition:transition];
}
运行应用程序,当切换场景时,你会看到一个漂亮的淡入淡出效果。
2.7.3 工作原理
在创建过渡效果时,主要用到的类是CCTransition类。通过它,你可以指定要使用的过渡效果类型,也可以指定过渡效果的持续时间。在上面的示例代码中,我把过渡时长设置为0.2秒,你也可以根据游戏的实际需要增加或缩短过渡效果的持续时间(见图2-7)。
2.7.4 更多内容
在添加效果时,Cocos2d为你提供了许多选择。如图2-8所示,你可以浏览效果列表,通过尝试添加它们,观察每种效果的作用。
修改过渡效果,如下所示。再次运行应用,观察应用的新效果,如图2-9所示。
CCTransition *transition = [CCTransition
transitionRevealWithDirection:
CCTransitionDirectionLeft duration:0.2];