`
zhuangshuo
  • 浏览: 20588 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

cocos2dx 播放动画

 
阅读更多
实现游戏里面可以播放动画的效果

可以实现播放一次和循环播放,对于规定播放次数,我没找到相关方法,有知道的朋友告诉下

1.创建CCTexture2D,并在这张纹理上划分出多个CCSpriteFrame:
  可以在一张图片上面截取一部分播放,例如:
CCTexture2D *texture=CCTextureCache::sharedTextureCache()->addImage("girl.png"); 

CCSpriteFrame *frame0=CCSpriteFrame::createWithTexture(texture,CCRectMake(32*0, 48*0, 32, 48)); 
CCSpriteFrame *frame1=CCSpriteFrame::createWithTexture(texture,CCRectMake(32*1, 48*0, 32, 48)); 
CCSpriteFrame *frame2=CCSpriteFrame::createWithTexture(texture,CCRectMake(32*2, 48*0, 32, 48)); 
CCSpriteFrame *frame3=CCSpriteFrame::createWithTexture(texture,CCRectMake(32*3, 48*0, 32, 48)); 


    也可以加载几张图片进行播放:
CCSpriteFrame *frame0=CCSpriteFrame::create("bajie.png",CCRectMake(0, 0, 23, 23));
CCSpriteFrame *frame1=CCSpriteFrame::create("linjin.png",CCRectMake(0, 0, 23, 23));
CCSpriteFrame *frame2=CCSpriteFrame::create("plane.png",CCRectMake(0, 0, 23, 23));
CCSpriteFrame *frame3=CCSpriteFrame::create("shuai.png",CCRectMake(0, 0, 23, 23));



2.创建数组,放入创建出一个CCAnimation
CCArray *animFrames = new CCArray(4); 
animFrames->addObject(frame0); 
animFrames->addObject(frame1); 
animFrames->addObject(frame2); 
animFrames->addObject(frame3); 
 
CCAnimation *animation = CCAnimation::createWithSpriteFrames(animFrames, 0.2f);
animFrames->release();  


3.CCAnimation不是一个可以用来显示的类型,它只负责记录动画帧、帧间隔等数据,要让它动起来,需要借助CCAnimate,它是一种Action。
//使用animation生成一个动画动作animate 
CCAnimate *animate = CCAnimate::actionWithAnimation(animation);


4.创建一个CCSprite实例,然后让它循环播放上面的CCAnimate动作。注意,必须用CCRepeatForever::actionWithAction来包装animate,否则动画只播放一次就停下了。
CCSprite *sprite = CCSprite::spriteWithSpriteFrame(frame0);//设置一个初始frame 
sprite->setPosition( ccp( s.width/2, s.height/2) ); 
addChild(sprite); 

sprite->runAction(CCRepeatForever::actionWithAction( animate));//重复播放 //sprite->runAction(animate);播放一次 
分享到:
评论

相关推荐

    cocos2d播放视频方法相关

    Cocos2d是一个开源的游戏开发框架,基于Python、Objective-C和C++等语言实现,它提供了丰富的2D渲染、动画、物理引擎、碰撞检测等功能,为开发者创建游戏提供便利。在iOS平台上,Cocos2d-iOS是其针对iOS设备的版本,...

    cocos2d-x的spine动画demo

    Cocos2d-x是一款强大的开源跨平台2D游戏开发框架,广泛应用于移动设备上的游戏...通过研究这个示例,你可以看到如何将Spine的数据结构映射到Cocos2d-x的游戏对象上,这对于其他类似的2D动画工具的集成也有指导意义。

    cocos2d-x 动画工具 Flash2Cocos2d-x 1.3

    《cocos2d-x 动画工具 Flash2Cocos2d-x 1.3:将Flash创意带入移动游戏开发》 在移动游戏开发领域,cocos2d-x是一款广泛使用的开源游戏引擎,以其高效、跨平台的特性深受开发者喜爱。而Flash2Cocos2d-x则是一个专为...

    cocos2d3D扑克翻牌特效

    《cocos2d 3D扑克翻牌特效详解——基于OpenGL的实现》 在游戏开发领域,视觉效果的呈现往往能极大地提升玩家的沉浸感。其中,扑克翻牌特效就是一个常见的交互元素,它能为游戏增添趣味性和神秘感。本文将深入探讨...

    cocos2d-x 3.2 使用cocos studio导出的帧动画

    在cocos2d-x中,可以使用SpriteBatchNode和SpriteFrameCache来管理帧动画资源,通过Animation类来控制动画播放。 四、cocos studio导出帧动画 在cocos studio中,你可以创建一个动画项目,导入图片资源,然后逐帧...

    cocos2d-x 3.0 骨骼动画 demo

    3. 加载与播放:在代码中加载骨骼动画数据,创建相应的动画组件,并根据需求设置初始状态和动画播放控制。 4. 更新与渲染:在每一帧,引擎会更新骨骼动画的状态,并计算每个顶点的新位置,然后绘制到屏幕上。 四、...

    cocos2d-x-cocos2d-x-2.2.2.zip

    这个压缩包“cocos2d-x-cocos2d-x-2.2.2.zip”包含了cocos2d-x 的2.2.2版本,该版本是cocos2d-x发展中的一个重要里程碑,它提供了许多改进和优化,使得开发者能够更加高效地创建2D游戏和应用。 在cocos2d-x 2.2.2中...

    cocos2d-x动画资源

    cocos2d-x的动画资源素材,在cocos2d-x中添加如下代码使用: //动画 //创建一个缓存 auto cache = SpriteFrameCache::getInstance(); //先把图片读入内存 cache->addSpriteFramesWithFile("anim.plist"); ...

    cocos2d-x 3.0

    cocos2d-x 3.0中的cc::Animate类可以轻松管理这些帧,通过`createWithFrames`方法创建动画,并使用`runAction`将动画添加到精灵上。 3. 物理引擎:如果游戏需要更真实的物理效果,比如重力、碰撞检测,可以集成Box...

    Cocos2d-x实战 JS卷 Cocos2d-JS开发

    2. **图形与动画**:讲解如何使用Cocos2d-x的绘图API绘制2D图形,实现精灵(Sprite)、动画(Animation)和粒子系统(Particle System)。 3. **物理引擎**:介绍Cocos2d-x内置的Box2D物理引擎,用于模拟游戏中的...

    cocos2d-x-3.13.1 spine3.6.zip

    在3.13.1版本中,Cocos2d-x对Spine动画引擎的集成进行了更新,这是一项重要的改进,极大地提升了2D游戏中的角色动画表现力。 Spine是一款强大的骨骼动画工具,特别适合于制作2D游戏中的角色动画。它的3.6版本引入了...

    Cocos2d-JS中使用Cocos Studio资源05:帧动画

    通过以上步骤,你可以在Cocos2d-JS项目中成功地使用Cocos Studio创建并播放帧动画,为游戏增添丰富的动态效果。不断实践和优化,你会发现Cocos2d-JS结合Cocos Studio是一个强大而高效的开发组合。

    Cocos2d-JS游戏开发

    通过深入学习和实践,你将掌握Cocos2d-JS的各个模块,包括场景管理、动画制作、物理引擎应用、事件处理以及性能优化等。结合书中提供的示例和代码,你将有能力开发出自己的Cocos2d-JS游戏,无论是简单的休闲游戏还是...

    cocos2d-x 动画演示 源码

    例如,`stopAction`可以停止当前的动作,`resume`可以恢复暂停的动画,而`setSpeed`则可以调整动画播放的速度。 5. **动画缓动效果**:为了使动画看起来更平滑,Cocos2d-x提供了一系列的缓动函数(easing functions...

    Cocos2d-x实战:C++卷(2版)源代码

    Cocos2d-x提供了精灵动画的支持,可以方便地创建和播放帧动画。 3. **动作(Actions)与效果**:Cocos2d-x的动作系统允许开发者对游戏对象施加各种效果,如移动、旋转、缩放、淡入淡出等,实现丰富的视觉表现。 4....

    Cocos2d-x 3.x游戏开发实战pdf含目录

    本书会介绍Cocos2d-x的音频API,包括音乐播放、音效处理以及音效资源的加载和管理。 此外,书中还会涉及用户输入处理、触摸事件、键盘事件的响应,以及如何实现游戏的交互功能。对于网络编程,Cocos2d-x提供了网络...

    经典版本 方便下载 源码 旧版本 3.8 官网找不到了 cocos2d-x-3.8.zip

    4. **Action系统**:cocos2d-x的动作系统允许开发者轻松实现物体的移动、旋转、缩放等效果,极大地简化了动画制作。 5. **Scene和Layer**:通过Scene和Layer的概念,可以组织游戏的场景和层次结构,方便管理游戏...

    cocos2d-android jar包全套.zip

    Cocos2d是一款开源的游戏开发框架,被广泛用于创建2D游戏、演示程序和其他互动内容。在Android平台上,Cocos2d-x是一个基于C++的版本,提供了原生的编程接口,同时也支持Java API,方便Android开发者使用。"cocos2d-...

    Cocos2d-x实战C++卷关东升著完整版pdf

    同时,音效和音乐管理也是游戏体验的重要组成部分,书中会介绍如何使用Cocos2d-x的音频API来播放和控制音频资源。 在实际项目开发中,内存管理和性能优化是关键。本书可能会详细讲解Cocos2d-x中的内存管理机制,如...

    Cocos2d-x实战 JS卷

    3. **图形渲染**:学习如何使用Cocos2d-x的绘图API,包括纹理、精灵批处理、动画和粒子系统,创建丰富的视觉效果。 4. **物理引擎**:了解Cocos2d-x内置的Box2D或Chipmunk物理引擎,如何模拟真实世界的物理行为,如...

Global site tag (gtag.js) - Google Analytics