当我在touchDragged
方法中编写代码时,允许播放器使用以下任意一个方向进行拖动:
(上,下,右,左,右上,左上,右下,左下)
我的代码:
public void touchDragged(InputEvent event, float x, float y, int pointer) {
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
Image img = img[i][j];
float imgX = img[i][j].getX();
float imgY = img[i][j].getY();
float width = img[i][j].getWidth();
float height = img[i][j].getHeight();
if (x > imgX && x <= imgX + width && y > imgY && y <= imgY + height) {
img.setColor(Color.RED);
}
}
}
});
结果:(当玩家向up-right
方向拖动时)
但是如何阻止包含X
的下方方块听取触摸事件?因为我知道玩家想要朝这个方向前进up-right
。
我首先计算直线linear equation的斜率然后根据斜率确定方向吗?或者什么?
任何想法?