下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
【移动应用开发技术】来源于一般讨论分类疯狂ios讲义之cocos2d中的动画
cocos2d中的动画在每一个游戏当中,都有很多各种各样的动画效果,比如街头霸王中的旋风腿,植物大战僵尸中豌豆的扭动、僵尸的走路、***动作等,虽然简单的移动动作也可以实现这些功能,但是这样看上去非常的笨拙和不真实。那么这些效果到底是如何实现的呢?其实很简单,我们只需要将一系列图片按照特定的顺序排列,然后在精灵对象上执行特定的动画动作就可以了。1
cocos2d中动画相关的类在cocos2d中实现动画,需要了解以下几个类。
q
CCAnimate:该类为一种特殊的动作,也称为动画动作。
q
CCAnimation:该类封装了一个精灵帧序列和各个精灵帧之间的延迟时间,作为精灵播放动画的参数。
q
CCAnimationCache:该类是一个单例,作为一个缓存池来缓存CCAnimation动画。2
简单动画效果接下来我们通过示例演示在cocos2d中实现动画效果。在Xcdoe中使用cocos2d模板创建一个项目,命名为“AnimationTest”,加入准备好的图片资源,本例为8张植物大战僵尸中的僵尸图片,利用这些单独的图片创建动画,完成一个僵尸走路的动画效果。实现代码如下。程序清单:codes/13/13.11/AnimationTest/AnimationTest/HelloWorldLayer.m-(id)init{
if((self=[superinit])){
CGSizewinSize=[[CCDirectorsharedDirector]winSize];
CCSprite*bgSprite=[CCSpritespriteWithFile:@"gamebg.png"];
bgSprite.position=ccp(winSize.width/2,winSize.height/2);
[selfaddChild:bgSprite];
//创建僵尸精灵,并设置坐标位置在屏幕之外
CCSprite*zSprite=[CCSpritespriteWithFile:@"z_00_01.png"];
zSprite.position=ccp(winSize.width+zSprite.contentSize.width/2,winSize.height/2);
[selfaddChild:zSprite];
//创建CCAnimation动画,指定动画帧的内容
CCAnimation*anim=[CCAnimationanimation];
[animaddSpriteFrameWithFilename:@"z_00_01.png"];
[animaddSpriteFrameWithFilename:@"z_00_02.png"];
[animaddSpriteFrameWithFilename:@"z_00_03.png"];
[animaddSpriteFrameWithFilename:@"z_00_04.png"];
[animaddSpriteFrameWithFilename:@"z_00_05.png"];
[animaddSpriteFrameWithFilename:@"z_00_06.png"];
[animaddSpriteFrameWithFilename:@"z_00_07.png"];
[animaddSpriteFrameWithFilename:@"z_00_08.png"];
//创建animAction动画,restoreOriginalFrame:YES
//可以让精灵对象在动画执行完后恢复到最初状态
idanimAction=[CCAnimateactionWithDuration:1.5fanimation:anim
restoreOriginalFrame:YES];
//定义一个动作,重复执行CCAnimate动画
idrepeatanimAction=[CCRepeatForeveractionWithAction:animAction];
//定义一个动作,让精灵对象移动到特定的位置
idmoveTo=[CCMoveToactionWithDuration:10.0f
position:ccp(-zSprite.contentSize.width/2,winSize.height/2)];
//僵尸精灵重复执行动画动作和移动动作
[zSpriterunAction:repeatanimAction];
[zSpriterunAction:moveTo];
}
returnself;}-(id)init{
if((self=[superinit])){
CGSizewinSize=[[CCDirectorsharedDirector]winSize];
//①读取plist文件将精灵帧纹理添加到精灵帧缓存当中
[[CCSpriteFrameCachesharedSpriteFrameCache]
addSpriteFramesWithFile:@"animation.plist"];
//②创建一个精灵表单
CCSpriteBatchNode*batchNode=[CCSpriteBatchNode
batchNodeWithFile:@"animation.png"];
//③将精灵表单作为层的子节点添加到层当中
[selfaddChild:batchNode];
//④创建背景精灵添加到精灵表单中
CCSprite*bgSprite=[CCSpritespriteWithSpriteFrameName:@"gamebg.png"];
bgSprite.position=ccp(winSize.width/2,winSize.height/2);
[batchNodeaddChild:bgSprite];
//⑤创建僵尸精灵,设置坐标位置在屏幕之外
CCSprite*zSprite=[CCSpritespriteWithSpriteFrameName:@"z_00_01.png"];
zSprite.position=ccp(winSize.width+zSprite.contentSize.width,winSize.height/2);
//⑥创建一个数组用来保存动画
NSMutableArray*array=[NSMutableArrayarray];
//遍历所有图片,然后从精灵帧缓存中获取与图片名称相对应的精灵帧保存到数组当中
for(inti=1;i<=8;i++){
NSString*fileName=[NSStringstringWithFormat:@"z_00_0%i.png",i];
CCSpriteFrame*frame=[[CCSpriteFrameCachesharedSpriteFrameCache]
spriteFrameByName:fileName];
[arrayaddObject:frame];
}
//⑦创建一个动画并设计成重复动作
idanimation=[CCAnimationanimationWithSpriteFrames:arraydelay:0.1f];
idanimate=[CCAnimateactionWithAnimation:animation];
idrepeate=[CCRepeatForeveractionWithAction:animate];
//⑧创建一个CCMoveTo让精灵移动到特定的位置
idmoveTo=[CCMoveToactionWithDuration:10.0f
position:ccp(-zSprite.contentSize.width/2,winSize.height/2)];
//⑨让僵尸精
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 21世纪以来我国引进版科普童书的出版现状和对策分析
- 2020年高考“计数原理、概率与统计”专题命题分析
- 2017国际分析科学大会首次在中国举办
- 16S rRNA基因高变区V4和V3-V4及测序深度对油藏细菌菌群分析的影响
- 1000MW机组协调控制系统异常原因分析及对策
- 临床常见化验单分析:乙肝病毒检测
- 通讯设备合伙经营
- 循证护理在介入科的应用分析
- 双孢菇病虫害防治策略
- 旅游出行:肠道传染病防治小贴士
- 自动洗衣机PLC课程设计
- 基于Unity3d仿Minecraft沙盒游戏的设计与实现
- 船舶维修与维护技术
- 统编版语文八年级下册第三单元整体公开课一等奖创新教学设计(大单元教学)
- 辽宁大连市2024年高考数学一模试卷含解析
- 财务税务管理的最佳实践
- 沪教版数学五年级下册简易方程练习400题及答案
- 湘教版七年级下学期第一次月考地理试卷(含答案解析)
- 日本核废水排海
- 轮滑培训行业分析
- vigs基因沉默实验步骤
评论
0/150
提交评论