Objective c 比较两个CCSprite的方法';s运行
我有一个CCSprite“\u wo1”,它有一个布尔属性“攻击”。我的更新方法中有以下代码,我希望它不断检查“攻击”是否为是,并让我的精灵执行不同类型的运行操作 所以我的问题是: 如何比较两个运行操作?我尝试了“==”和“isEqual”,但它们不起作用。Objective c 比较两个CCSprite的方法';s运行,objective-c,cocos2d-iphone,ccsprite,kobold2d,Objective C,Cocos2d Iphone,Ccsprite,Kobold2d,我有一个CCSprite“\u wo1”,它有一个布尔属性“攻击”。我的更新方法中有以下代码,我希望它不断检查“攻击”是否为是,并让我的精灵执行不同类型的运行操作 所以我的问题是: 如何比较两个运行操作?我尝试了“==”和“isEqual”,但它们不起作用。 MySprite *_wo1 = ... // initialize _wo1 using my own class that sub-classed CCSprite if (![_wo1 attack]) {
MySprite *_wo1 = ... // initialize _wo1 using my own class that sub-classed CCSprite
if (![_wo1 attack])
{
_wo1.position = ccp(_wo1.position.x + 10 * dt, _wo1.position.y); // walking forward
if (currentAction == attAction) // currentAction is defined in setting its runAction in the beginning: "currentAction = [wo1 runAction:[s01WalkAction copy]];"
{
[_wo1 stopAction:attAction];
[_wo1 runAction:[walkAction copy]];
}
}
else{
if (currentAction == walkAction)
{
[_wo1 stopAction:walkAction];
[_wo1 runAction:[attAction copy]];
}
}
如有任何帮助或建议,将不胜感激。谢谢大家! 您可以在
MySprite
类中保留精灵的动作状态,该类可以轻松告诉您精灵中使用了哪些动作
在精灵上运行操作时,只需正确设置状态。例如:
mySprite.actionState = ACTION_WALKING;
然后,您可以轻松检查所使用的操作:
if (mySprite.actionState == ACTION_WALKING)
{
// Your handling code
}