- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我目前正在学习 libgdx 游戏编程,现在我已经学会了如何使用 touchDown 但我不知道如何使用 touchDragged。计算机如何知道手指被拖动的方向(用户是否向左或向左拖动)对)
最佳答案
计算机不知道。或者至少界面不会告诉你这些信息。它看起来像这样:
public boolean touchDragged(int screenX, int screenY, int pointer);
它几乎和 touchDown 一样:
public boolean touchDown(int screenX, int screenY, int pointer, int button);
touchDown
事件发生后,只有 touchDragged
事件会发生(对于同一指针),直到 touchUp
事件被触发。如果你想知道指针移动的方向,你必须通过计算最后一个触摸点和当前触摸点之间的增量(差异)来自己计算。这可能看起来像这样:
private Vector2 lastTouch = new Vector2();
public boolean touchDown(int screenX, int screenY, int pointer, int button) {
lastTouch.set(screenX, screenY);
}
public boolean touchDragged(int screenX, int screenY, int pointer) {
Vector2 newTouch = new Vector2(screenX, screenY);
// delta will now hold the difference between the last and the current touch positions
// delta.x > 0 means the touch moved to the right, delta.x < 0 means a move to the left
Vector2 delta = newTouch.cpy().sub(lastTouch);
lastTouch = newTouch;
}
关于android - touchDragged 在 libgdx 中如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23731073/
我有一个简单的问题 - 我正在尝试对 Actor 进行拖动,但我看到了奇怪的效果 - 当我尝试拖动 Actor 时,它开始闪烁并随机改变位置。这是一个短视频:https://youtu.be/KpGu
在处理监听器类并实现多个触摸手势的处理时,我遇到了一个可能的错误。 代码实现 public class MyListener extends ClickListener { private L
在此图像中如何使用 touchDragged 拖动此 仅在 x 轴上?? 这是我执行此操作的代码: iBtnDrag = new Image(tBtnDrag); iBtnDrag.addListen
下面是我尝试添加 touchDragged 的代码,我尝试使用拖动方法通过 touchDragged 功能使对象左右移动。 问题是,当我在屏幕右侧滑动时,无论是向左还是向右滑动,对象仅向右移动。当
我有一个 Actor ,我想通过触摸拖动来移动它。 class Tile extends Actor { Tile (char c) { addListener(new Inp
我目前正在学习 libgdx 游戏编程,现在我已经学会了如何使用 touchDown 但我不知道如何使用 touchDragged。计算机如何知道手指被拖动的方向(用户是否向左或向左拖动)对) 最佳答
我想做的是通过在 Android 设备上拖动手指来左右移动一个矩形。我希望当我停下来而不抬起手指时,矩形就会停止。这可能吗? 我的InputHandler代码: @Override public b
我创建了 Button actor 的二维数组,然后添加了 new ClickListener() { touchDragged } 如下代码: buttons = new Button[3][3];
我正在尝试让鱼角色在玩家放手指的任何地方移动。我正在使用 libgdx 的触摸拖动来执行此操作。出于某种原因,注册触摸的 x 和 y 坐标只给我一个数字,而且似乎不在屏幕上。我已经阅读了与 libgd
我需要你的帮助! import com.badlogic.gdx.Gdx; import com.badlogic.gdx.InputProcessor; import com.badlogic.gd
我有一个 Actor 在舞台上,虽然被击中,并且被称为触地得分,但没有被称为触地得分和触地得分。有什么问题吗? ............ stage = new Stage(0, 0, true
我是一名优秀的程序员,十分优秀!