gpt4 book ai didi

java - libgdx 在操作进行时禁用触摸

转载 作者:行者123 更新时间:2023-11-29 19:05:43 24 4
gpt4 key购买 nike

我不知道如何在 Actor 上正在进行 Action 时临时禁用 DragListener。当我在正在进行的 Action 中触摸 Actor 时,它会被中断并执行新的 Action ,这会导致“漂移” Actor 。例如我摇动了Actor,但是当它被打断时,下面的Action是基于Actor被打断的位置。

touchUp 方法中添加 Action :

RotateByAction rotL = new RotateByAction();
rotL.setAmount(-3);
rotL.setDuration(0.05f);

RotateByAction rotR = new RotateByAction();
rotR.setAmount(6);
rotR.setDuration(0.05f);

RotateByAction rotBack = new RotateByAction();
rotBack.setAmount(-3);
rotBack.setDuration(0.05f);

SequenceAction seq = new SequenceAction();
seq.addAction(rotL);
seq.addAction(rotR);
seq.addAction(rotBack);

temp.setOrigin(temp.getWidth()/2,temp.getHeight()/2);

temp.addAction(seq);

我试图在 Actor 的 Render 方法中做这样的事情:

if (this.getActions().size > 0){//or hasActions()
this.setTouchable(Touchable.disabled);
}
else{
this.setTouchable(Touchable.enabled);
}

但这使得 Actor 不可触及!

最佳答案

你应该做的是使用 Actions.touchable在您的操作开始时禁用触摸,然后在结束时再次启用它。您还可以使用 sequence 将多个操作串在一起。或 parallel .

temp.addAction(Actions.sequence(
Actions.touchable(Touchable.disabled),
rotL,
rotR,
rotBack,
Actions.touchable(Touchable.enabled)
));

关于java - libgdx 在操作进行时禁用触摸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47339081/

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