android – touchDragged如何在libgdx中运行?

前端之家收集整理的这篇文章主要介绍了android – touchDragged如何在libgdx中运行?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我目前正在学习libgdx游戏编程,现在我已经学会了如何使用touchDown但是我不知道如何使用touchDragged.计算机如何知道手指被拖动的方向(用户是向左还是向右拖动)

解决方法

电脑不知道.或者至少界面不会告诉你这些信息.它看起来像这样:
public boolean touchDragged(int screenX,int screenY,int pointer);

它与touchDown几乎相同:

public boolean touchDown(int screenX,int pointer,int button);

发生touchDown事件后,只会触发touchDragged事件(对于相同的指针),直到触发touchUp事件.如果你想知道指针移动的方向,你必须通过计算最后一个接触点和当前接触点之间的差值(差值)来自己计算.这可能看起来像这样:

private Vector2 lastTouch = new Vector2();

public boolean touchDown(int screenX,int button) {
    lastTouch.set(screenX,screenY);
}

public boolean touchDragged(int screenX,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相关文章