0

我在 cocos2d 中有一个简单的脊椎项目,我想知道当前正在播放的动画(字符串名称),但我在 CCSkeletonAnimation 类中找不到任何函数来获取它,

你知道有没有办法得到它?

谢谢

编辑 - 解决方案

嘿,我找到了方法

AnimationState *a = [mAnimationNode getAnimationState:0];   
NSLog(@"Layer touched: %s",a->animation->name);

其中 mAnimationNode 是一个 CCSkeletonAnimation,

完美的工作!

4

2 回答 2

1

嘿,我找到了方法

AnimationState *a = [mAnimationNode getAnimationState:0];   
NSLog(@"Layer touched: %s",a->animation->name);

其中 mAnimationNode 是一个 CCSkeletonAnimation,

完美的工作!

于 2013-07-04T07:52:17.070 回答
0

如果 Spine 不支持明确的执行方式,则最好在启动时将动画名称存储在场景的属性中。

另一方面,由于动画通常在 cocos2d 中通过动作实现,您可以检查CCActionManagernumberOfRunningActionsInTarget:方法实现以检查如何访问给定目标节点中正在运行的动作列表。

这适用于 cocos2d 1.1:

tHashElement *element = NULL;
HASH_FIND_INT(targets, &target, element);

element->actions是包含所有正在运行的动作的 ccArray。

于 2013-07-04T07:46:55.500 回答