为两个精灵和引擎创建一个由两个修饰符组成的序列
Posted
技术标签:
【中文标题】为两个精灵和引擎创建一个由两个修饰符组成的序列【英文标题】:create a sequence of two modifiers for two sprite andengine 【发布时间】:2013-05-28 09:17:43 【问题描述】:我正在尝试创建两个精灵并在每个精灵上应用一个 RotationAtModifier。我希望能够按顺序运行两者,即 Sprite1 上的 Modifier1 和 Sprite2 上的 Modifier2 之后。有什么办法可以做到这一点。我尝试了序列和循环修饰符,但我认为它们可用于为单个精灵应用多个修饰符。如果我错了,请纠正我。
final RotationAtModifier rotMod1 = new RotationAtModifier(50, 0, 90, 830, 150)
@Override
protected void onModifierStarted(IEntity pItem)
getEngine().runOnUpdateThread(new Runnable()
public void run()
if(! Sprite1.isVisible())
Sprite1.setVisible(true);
);
@Override
protected void onModifierFinished(IEntity pItem)
getEngine().runOnUpdateThread(new Runnable()
public void run()
Sprite1.setVisible(false);
);
;
RotationAtModifier rotMod = new RotationAtModifier(50, 0, 90, 830, 150)
@Override
protected void onModifierStarted(IEntity pItem)
getEngine().runOnUpdateThread(new Runnable()
public void run()
if(! Sprite2.isVisible())
Sprite2.setVisible(true);
);
@Override
protected void onModifierFinished(IEntity pItem)
getEngine().runOnUpdateThread(new Runnable()
public void run()
Sprite2.setVisible(false);
Sprite1.registerEntityModifier(rotMod1);
);
;
mScorpius.registerEntityModifier(rotMod);
【问题讨论】:
你是对的“单个精灵可以包含多个修饰符”。但是如果你想要一个接一个的动画序列。然后你必须为每个修饰符创建两个方法。一个调用修饰符完成方法调用另一种方法,反之亦然。 【参考方案1】:在Modifier1的onModifierFinishedBlock
中的Sprite2上设置Modifier2
【讨论】:
以上是关于为两个精灵和引擎创建一个由两个修饰符组成的序列的主要内容,如果未能解决你的问题,请参考以下文章