cocos2d-x 2.0通过CCAnimation实例获取CCSpriteFrame
来源:互联网 发布:任志强为什么没事 知乎 编辑:程序博客网 时间:2024/05/23 02:04
转自:http://xiandanboke.com.cn/cocos2d-x-2-0ccanimation.html
在学习魔塔游戏时,有一步是通过CCAnimation实例获取CCSpriteFrame,会出现类型转换问题。
我们在创建一个animation的时候,经常遵循下面的步骤:
1)create 一个CCArray对象A。
2)通过A->addObject()添加CCSpriteFrame对象
3)通过CCAnimation::createWithSpriteFrames(A, 0.2f)常见一个CCAnimation对象B。
可以通过B->getFrames()获得一个CCArray*的指针A’,然后通过A’->ObjectAtIndex(0)获得第一个CCObject*类型的对象,称之为C。从表面上看,A’和A应该是同一个数组,所以C应该可以通过强制类型转换dynamic_cast转换为CCSpriteFrame*类型。但是实际上如果这么写,那么程序就会出错,如果用VS,它会自动转到CCObject::retain()函数的CCAssert语句。
正确的解决方法为
CCAnimationFrame* pAnimationFrame = dynamic_cast<CCAnimationFrame*>(B->getFrames()->ObjectAtIndex(0));CCSpriteFrame* pSpriteFrame = pAnimationFrame->getSpriteFrame();
- cocos2d-x 2.0通过CCAnimation实例获取CCSpriteFrame
- cocos2d-x 2.0通过CCAnimation实例获取CCSpriteFrame
- cocos2d-x 2.0通过CCAnimation实例获取CCSpriteFrame
- cocos2d-x -CCSpriteFrameCache-CCAnimation
- cocos2d-x 动画CCAnimation
- CCSpriteFrame 、CCAnimation 的使用
- cocos2d-x CCAnimation实现动画
- Cocos2d-x动画CCAnimate CCAnimation
- CCAnimation创建动画cocos2d-x
- CCAnimation创建动画 cocos2d-x
- Cocos2d-x动画CCAnimate CCAnimation
- cocos2d-x 动画详解之三CCSpriteFrame
- cocos2d-X 节点(CCSpriteFrame.h..)API
- cocos2D-x关于CCSpriteFrame的cpp实现
- cocos2d-x基础(三)CCSpriteFrameCache,CCSpriteFrame
- cocos2d-x 2.x 简单动画CCAnimation
- 剖析cocos2d-x中的CCAnimation: 从CCTexture2D到CCAnimation
- 《初学cocos2d-x》- 动画CCAnimation(2)
- Bugzilla安装和编辑所遇到的问题
- android_asset URI详细使用方法
- Andrid中的Looper,Handler,Message研究
- oracle中bulk collect into用法
- 机房收费系统总结
- cocos2d-x 2.0通过CCAnimation实例获取CCSpriteFrame
- WdatePicker IE下报错: SCRIPT70: 没有权限 ——解决办法
- 浅谈SQL之主键、外键约束
- GROUPING函数的使用
- Android 高仿三星日历
- 如何将安卓的textview中文本链接到网页
- Memcache配置手册
- linux iptables启动问题
- linux命令