简体   繁体   English

为两个精灵和引擎创建两个修饰符的序列

[英]create a sequence of two modifiers for two sprite andengine

I am trying to create two sprites and applying a RotationAtModifier at each. 我正在尝试创建两个精灵,并在每个精灵上应用RotationAtModifier。 I want to be able to run both in a sequence, meaning Modifier1 on Sprite1 and after that Modifier2 on Sprite2. 我希望能够同时运行两个序列,即Sprite1上的Modifier1和Sprite2上的Modifier2。 Is there any way to achieve that. 有什么方法可以实现这一目标。 I tried sequence and loop modifiers but i think they can be used for applying multiple modifiers for a single sprite. 我尝试了序列和循环修改器,但我认为它们可用于为单个子画面应用多个修改器。 Correct me if I am wrong. 如果我错了,请纠正我。

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);

在设置Modifier2上Sprite2 onModifierFinishedBlock Modifier1的

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM