gpt4 book ai didi

java - 在 Libgdx 中暂停并继续对 actor 执行操作

转载 作者:行者123 更新时间:2023-12-02 11:43:36 25 4
gpt4 key购买 nike

我正在尝试 Libgdx。这就是我想要实现的目标,

在 Actor 上定义一个 Action ,当 Actor 执行该 Action 时,单击按钮时我们应该能够从同一位置开始和停止该 Action 。

我试过这个stackoverflow answer但是再次开始 Action 后, Actor 的移动速度比之前更快,因为最初我们设置了 Action 完成的持续时间,并且由于剩下的时间较少,所以它运行得更快。

你能帮忙吗?我错过了什么吗?

最佳答案

尝试直接从 Actor#actions 数组中删除点击时 Actor 的操作,然后在另一次点击时将其添加回来。示例:

final Actor actor = // ... initialize your actor;
final Action action = Actions.forever(Actions.rotateBy(360f, 3f, Interpolation.bounceOut));
actor.addAction(action);

actor.addListener(new ClickListener() {
@Override
public void clicked(InputEvent event, float x, float y) {
Array<Action> actions = actor.getActions();
if (actions.contains(action, true)) {
// removing an action with Actor#removeAction(Action) method will reset the action,
// we don't want that, so we delete it directly from the actions array
actions.removeValue(action, true);
} else {
actor.addAction(action);
}

}
});

关于java - 在 Libgdx 中暂停并继续对 actor 执行操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48366997/

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