auto action1 = Sequence::create( moveTo,hide, NULL);
fsprite1->runAction(action1);
fsprite2->runAction(action1);
fsprite3->runAction(action1);
auto action1 = Sequence::create( moveTo,hide, NULL);
fsprite1->runAction(action1);
fsprite2->runAction(action1);
fsprite3->runAction(action1);
你可以把action封装到一个类中,既安全又实用
for example:
class Actions
{
public:
static Action* getAction();
};
Action* Actions::getAction()
{
return (Sequence::create( moveTo,hide, NULL));
}
使用时:
fsprite1->runAction(Actions::getAction());
fsprite2->runAction(Actions::getAction());
fsprite3->runAction(Actions::getAction());
就没问题了。
找到了clone()
fsprite1->runAction(action1);
fsprite2->runAction(action1.clone());
fsprite3->runAction(action1.clone());
原理是每个action都是一个类,保存运行时的信息,如果都调用这个类只有第一个被执行,所以调用clone()函数产生3个类分别执行三个action