我目前有一个 2d 游戏,我正在尝试按照特定坐标移动 .png 图像。如果我将该对象放置在 (0,0) 处,然后尝试移动到 (500,500),我可以执行以下操作:
public void move() {
if (x < 500) {
x += velocityX;
}
if (y < 500) {
y += velocityY;
}
}
这可行,但只是因为它是一条完美的对角线。使用该系统,我只能水平、垂直或对角移动对象,而不能在两者之间移动。如果我尝试这样的事情:
public void move() {
if (x < 500) {
x += velocityX;
}
if (y < 400) {
y += velocityY;
}
}
对象只会以完美的对角线移动,直到 y 轴达到 400 度为止,它会水平移动最后一点,直到 x 轴上达到 500 度。我该如何做才能将对象移动到任何坐标,同时沿着直线路径移动?
最佳答案
要在窗口中完美地对角移动,您必须确保 velocityX
和velocityY` 的比率应如下所示,
velocityX width
----------- = -----------
velocityY height
在您的情况下,如果宽度
为500,高度
为400,如果velocityX
为5,则
velocityY should be 4
关于java - 如何通过坐标使物体从一点移动到另一点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41923597/