(我在libgdx工作,我的箭头是多边形) 我有一些编程问题。我目前正在游戏中使用关卡编辑器,我已经走得很远,但现在我遇到了扩展问题。我正在使用8个箭头。图片如下。
我想拖动箭头,或者在方向上徘徊一个巨大的正方形,在一条直线上。 (橙线)。每个箭头都有一个方向。箭头应该缩放绿色方块。
我的代码如上所示,如下所示:
public void onDragged(int prevX, int prevY, int cX, int cY) {
super.onDragged(prevX, prevY, cX, cY);
int dX = cX - prevX;
int dY = cY - prevY;
int pX = x;
int pY = y;
Vector2f vector = new Vector2f((float) Math.cos(directionAngle + Math.PI / 2), (float) Math.sin(directionAngle + Math.PI / 2));
float sum = new Point2f(prevX, prevY).distance(new Point2f(cX, cY));
x += sum * Integer.signum(dX) * vector.x;
y -= sum * Integer.signum(dY) * vector.y;
polygon.setPosition(x, y);
gui.onArrowDragged(getID(), pX, pY, x, y);
}
这个解决方案在方块一侧的4个箭头上工作得非常好,但我的问题是,在其他方面,我仍然可以向任何方向移动箭头,而不是方向向量。