请问UIImageView::runAction如何播放帧动画

如果用Cocostudio提供的UIImageView来播放帧序列,如:

UIImageView imageView = UIImageView::create();
…//初始化等
CCAnimation
animation = CCAnimation::createWithSpriteFrames(animFrames,0.1f);
animation->setLoops(-1);
action=CCAnimate::create(animation);
imageView->runAction(action);

这样就会导致类型转换错误,原因是UIImageView的基类使用CCNode作为Render,而播放帧序列是对Render进行SetDisplaySprite
详细信息:
以下代码来自“CCActionInterval.cpp”
for( unsigned int i=m_nNextFrame; i < numberOfFrames; i++ ) {
float splitTime = m_pSplitTimes->at(i);
if( splitTime <= t ) {
CCAnimationFrame* frame = (CCAnimationFrame*)frames->objectAtIndex(i);
frameToDisplay = frame->getSpriteFrame();
((CCSprite*)m_pTarget)->setDisplayFrame(frameToDisplay); //此处的m_pTarget是CCNode即UIImageView里的Render,转型到CCSprite后setDisplayFrame会引起崩溃

看来此路不通,请问有办法对Cocostudio的某一个UI控件播放CCAnimation的帧序列动画么

研究了一番,看到CCArmature 这个东东,请问是用这个来做帧序列动画么

对头,序列帧和骨骼动画,在Cocostudio里,一样,用动画编辑器做就行了,播放的时候,一样的方式

有办法解决,你自己CCSprite *sprite = CCSprite::create();先把动画加到精灵上面,然后在把精灵以节点方式加在UIImageView上就可以了
sprite->runAction(action);
loadImg->addNode(sprite);反正我这么做实现了~

这个方法 你用来做了什么 是做特效吗? 还是动作编辑做的 什么打斗动画都可以用这个精灵 播放啊? 但是图片资源是不一样的

我想问的问题是 你创建了一个有图片资源的精灵 然后 你想要这个精灵 攻击 什么的 也可以用动画编辑器 编辑好 你是这么做的吗? 还是你只是让这个精灵 做了一些动画编辑器制作的特效

把动画加到精灵上面 是怎么写的啊?

做了一些动画编辑器制作的特效
用做这个功能,如果你要实现攻击,移动等等效果还是用动画编辑器做吧
把动画加到精灵上面-------addnode就OK了

在这个帖子里找到答案了,好高兴啊:14::14::14::14: