2013-01-09 55 views
0

是否有可能从cocos2d-x中正在运行的动画/动作获取当前帧? 有一个称为iSDone的函数,但它会给我做一次sprite的布尔操作,也不会提供sprite数据。来自Cocos2d-x的当前帧动作/动画

我想要在动作运行时当前帧的高度,宽度,x和y。

有什么办法吗?

+0

看似没有接口为你做这一信息。唯一的办法就是修改或子类的类“CCAnimate”,改写或重写功能“更新()” – PeakCoder

+1

的cocos2d-iphone有一个CCSprite财产displayFrame它返回当前显示的CCSpriteFrame。在cocos2d-x中是否没有等价物? – LearnCocos2D

+0

@ LearnCocos2D:displayFrame在那里...我想我会解决它,并会让你知道这是否是我所缺乏的东西 – user1201239

回答

1
int CCAnimationHelper::frameOfAnimation(cocos2d::CCAnimation *animation, cocos2d::CCSprite *sprite){ 
CCTexture2D* tex = sprite->getTexture(); 
int imageIndex = 0; 
for (int i=0; i<animation->getFrames()->count(); i++) { 
    CCAnimationFrame *frame = (CCAnimationFrame*)animation->getFrames()->objectAtIndex(i); 
    CCTexture2D *tex2 = frame->getSpriteFrame()->getTexture(); 
    if (tex->isEqual(tex2)) { 
     imageIndex = i; 
     break; 
    } 
} 


return imageIndex; 
}