java - LibGDX 中的 Actions() 每次点击精灵都会累积错误
问题描述
操作会累积一个错误,该错误会随着每次点击而增加。
我正在制作游戏。当我单击精灵时,会出现一个对话框。这个对话框带有我通过 Actions() 制作的动画。最初,对话框平滑地打开和缩放,也平滑地关闭。但是在对话框打开和关闭大约 10 次后,错误变得明显。对话框开始突然打开和关闭。我点击精灵的次数越多,对话框的动画就越撕裂。
@Override
public boolean touchDown(int screenX, int screenY, int pointer, int button) {
vector2 = new Vector2(screenX, Gdx.graphics.getHeight() - screenY);
if (sprite_1.getBoundingRectangle().contains(vector2)) {
switch (serverClass.point1) {
case 0:
Gdx.app.log("1", "drops");
win_dialog_alpha_white.addAction(Actions.fadeIn(.2f)); //this window covers all sprites
stage_dialogs.addActor(win_dialog_01_1);
win_dialog_01_1.setModal(true);
win_dialog_01_1.addAction(
Actions.fadeOut(0));
win_dialog_01_1.addAction(Actions.parallel(
Actions.fadeIn(.2f)
, Actions.scaleTo(1.05f, 1.05f, .2f)));
win_dialog_01_1.addAction(Actions.sequence(
Actions.delay(.2f)
, Actions.scaleTo(1, 1, .2f)));
button_close.addListener(new ClickListener() {
@Override
public void clicked(InputEvent event, float x, float y) {
win_dialog_alpha_white.addAction(Actions.fadeOut(.3f));
win_dialog_01_1.setModal(false);
win_dialog_01_1.addAction(Actions.parallel(
Actions.fadeOut(.4f)
, Actions.scaleTo(1.05f, 1.05f, .2f)));
win_dialog_01_1.addAction(Actions.sequence(
Actions.delay(.2f)
, Actions.scaleTo(1, 1, .2f)));
}
});
break;
“win_dialog_01_1”是一个单独的类(扩展窗口),但按钮“button_close”是在主类中创建的,然后添加到“win_dialog_01_1”的实例中。
我找不到错误在哪里累积。
解决方案
推荐阅读
- c# - JSON.Net 将单对象数组序列化为对象
- java - 如何在列表视图中添加开关以及如何在新活动中打开和关闭状态
- mysql - 自动生成的sql脚本,不能配置ID参数
- python - 树莓派 3 opencv python 和 pyinstaller
- android - 根据 Firebase 中的优先级对数据进行排序并将其显示在 FirebaseRecyclerAdapter 中
- jenkins - Jenkins:从另一个构建作业中提取工件给定参数
- xquery - 如何在 MarkLogic 中查找索引创建日期?
- java - 尝试为 RPN 计算器创建队列求解器时出现转换错误
- wordpress - Bitnami Discourse 和 Wordpress 在同一 AWS EC2 服务器中独立运行
- tensorflow - TensorFlow 模型的 GPU 内存是 Caffe 模型的 4 倍