为两个sprite andengine创建一个两个修饰符的序列

时间:2013-05-28 09:17:44

标签: android andengine modifier

我正在尝试创建两个精灵并在每个精灵上应用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 个答案:

答案 0 :(得分:1)

在Modifier1的onModifierFinishedBlock

中的Sprite2上设置Modifier2