gpt4 book ai didi

Java游戏-将物体沿直线移动到另一点

转载 作者:行者123 更新时间:2023-12-02 00:10:12 24 4
gpt4 key购买 nike

这是我到目前为止所拥有的:

int vx = (playerx - x);
int vy = (playery - y);

double distance = Math.sqrt((vx * vx) + (vy * vy));

double doublex = ((vx / distance));
double doubley = ((vy / distance));

dx = (int) Math.floor(doublex + 0.5);
dy = (int) Math.floor(doubley + 0.5);

x += dx;
y += dy;

我只想让 x 和 y 直接向playerx 和playery 移动,但它仅以0、1 或未定义的斜率移动。

最佳答案

我怀疑它是因为你的 x 和 y 是 int 并且你移动的距离很短,你只会是 (1, 1), ( 1, 0)(0, 1)

您需要让它移动得比 1 更远,或者使用分辨率更高的类型。例如双倍。

顺便说一句:我相信更好的选择是而不是使用 Math.floor

dx = (int) Math.round(doublex);

关于Java游戏-将物体沿直线移动到另一点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13014605/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com