gpt4 book ai didi

android - 如何注销andengine中的移动修饰符?

转载 作者:太空狗 更新时间:2023-10-29 16:05:21 25 4
gpt4 key购买 nike

我在 sprite 上使用了移动修改器,但是当我将背景和那个 sprite 移出屏幕时,它会自动回到屏幕上,我是如何注销它的

LoopEntityModifier bucket2 =
new LoopEntityModifier(new SequenceEntityModifier(
new MoveModifier(1.5f, 0, 290.9f,270.0f , 210.0f),
new MoveModifier(1.5f, 290.9f,0,220.0f , 270.0f))); // // new ScaleModifier(2.0f, 1.0f, 0.0f)
buckt[2].registerEntityModifier(bucket2);

注意:我用这段代码注销,但它并没有注销

buckt[2].unregisterEntityModifier(bucket2);

最佳答案

在这里我们看到您使用了 LoopModifier。所以,在这里面,所有修改器重复运行,因为你没有设置循环号。要运行一次,请编写如下代码:

LoopEntityModifier bucket2 =
new LoopEntityModifier(new SequenceEntityModifier(
new MoveModifier(1.5f, 0, 290.9f,270.0f , 210.0f),
new MoveModifier(1.5f, 290.9f,0,220.0f , 270.0f)),1);

这里 1 是要分配的值,循环运行了多少次。

要单独注销一个Modifier,你需要在modifier中单独实现listener。喜欢

全局声明一个修饰符。然后用它实现监听器。

private MoveModifier aTestModifier;
public void test() {

aTestModifier = new MoveModifier(2f, 10, 100, 50, 50,
new IEntityModifierListener() {

@Override
public void onModifierStarted(IModifier<IEntity> pModifier,
IEntity pItem) {
// TODO Auto-generated method stub

}

@Override
public void onModifierFinished(
IModifier<IEntity> pModifier, IEntity pItem) {
// unregister your modifier
unregisterEntityModifier(aTestModifier);

// same for all other modifier
}
});
}

所有其他修饰符相同。 :)

关于android - 如何注销andengine中的移动修饰符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16829124/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com