Cocos2D iOS之旅:如何写一个敲地鼠游戏(九):创建动画
2015-11-30 07:41
477 查看
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处.
如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;)
免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流之用,请勿进行商业用途。同时,转载时不要移除本申明。如产生任何纠纷,均与本博客所有人、发表该翻译稿之人无任何关系。谢谢合作!
理解上述代码非常重要,让我们一行一行的看一下:
属性列表包含在项目文件中,所以在app的”main bundle”里.这里是一个帮助方法取得属性文件在main bundle中全路径.
为了读取属性列表,可以方便的调用NSArray的一个方法arrayWithContentsOfFile并且传递属性文件的路径.它将返回一个包含其内容的数组(在本例中,就是动画图片的名称字符串).注意这在我们将根元素设置为NSArray时才是有效地.如果我们设置为NSDictionary,我们应该使用[NSDicionary dictionaryWithContentsOfFile…] 代替.
创建新的空数组去存放动画帧.
遍历属性列表中的每一个图片名称.
生成一个精灵帧并添加到数组中.
返回一个基于精灵帧数组的CCAnimation对象.
接下来,在你的init方法最后为每个动画添加调用该方法的代码:
laughAnim = [self animationFromPlist:@"laughAnim" delay:0.1]; hitAnim = [self animationFromPlist:@"hitAnim" delay:0.02]; [[CCAnimationCache sharedAnimationCache] addAnimation:laughAnim name:@"laughAnim"]; [[CCAnimationCache sharedAnimationCache] addAnimation:hitAnim name:@"hitAnim"];
注意在引用一个动画之后,将其加入到动画缓存中(在新版本的cocos2D中已经没有CCAnimationCache类了,所以后面就不翻译了. 猫猪注).
在最后一步 — 让我们使用(现在只用微笑动画).修改popMole方法如下:
- (void) popMole:(CCSprite *)mole { CCMoveBy *moveUp = [CCMoveBy actionWithDuration:0.2 position:ccp(0, mole.contentSize.height)]; CCEaseInOut *easeMoveUp = [CCEaseInOut actionWithAction:moveUp rate:3.0]; CCAction *easeMoveDown = [easeMoveUp reverse]; CCAnimate *laugh = [CCAnimate actionWithAnimation:laughAnim restoreOriginalFrame:YES]; [mole runAction:[CCSequence actions:easeMoveUp, laugh, easeMoveDown, nil]]; }
不同之处仅在于用CCanimate动作代替了那一点点延时.CCAnimate(在新版本的Cocos2D中没有该类,作为代替可以使用CCActionAnimate. 猫猪注)使用之前制作的微笑动画,然后设置resotreOriginalFrame为YES以便动画完成时恢复普通的地鼠面容.(新版的cocos2d中该方法也废弃了,你可以单独定义该属性.猫猪注.)
编译运行你的代码,现在当地鼠钻出的时候,它在向你嘲笑!
现在到了让这些欠扁的笑容消失的时候了!
相关文章推荐
- Cocos2D iOS之旅:如何写一个敲地鼠游戏(八):为动画建立属性列表
- Cocos2D iOS之旅:如何写一个敲地鼠游戏(八):为动画建立属性列表
- Cocos2D iOS之旅:如何写一个敲地鼠游戏(八):为动画建立属性列表
- cocos2d-x 3.x 开启debugdraw
- 【Cocos2d-x 3.x】 场景切换生命周期、背景音乐播放和场景切换原理与源码分析
- cocos2d-js添加广点通插屏(通过jsb反射机制)
- cocos2d-x随笔-1
- Cocos2D iOS之旅:如何写一个敲地鼠游戏(七):弹出地鼠
- Cocos2D iOS之旅:如何写一个敲地鼠游戏(七):弹出地鼠
- Cocos2D iOS之旅:如何写一个敲地鼠游戏(七):弹出地鼠
- ! cocos2d 预编译重复
- Cocos2D iOS之旅:如何写一个敲地鼠游戏(六):放置地鼠
- Cocos2D iOS之旅:如何写一个敲地鼠游戏(六):放置地鼠
- Cocos2D iOS之旅:如何写一个敲地鼠游戏(六):放置地鼠
- 入手cocos2dx3.9笔记 2
- Cocos2D iOS之旅:如何写一个敲地鼠游戏(五):设置背景
- Cocos2D iOS之旅:如何写一个敲地鼠游戏(五):设置背景
- Cocos2D iOS之旅:如何写一个敲地鼠游戏(五):设置背景
- Cocos2D iOS之旅:如何写一个敲地鼠游戏(四):创建TexturePacker自动脚本
- Cocos2D iOS之旅:如何写一个敲地鼠游戏(四):创建TexturePacker自动脚本