2

有没有办法遍历java 2D中一条线上的所有点?

我查看了类文档,看不到它内置的任何内容。如果没有,扩展类并编写我自己的方法来计算线的方程然后遍历每个点会更好吗?(这实际上是否可以作为一条线的理论方程和它实际绘制的像素似乎略有不同)

4

2 回答 2

1

听起来你正试图沿着边界框的线做一些事情。本质上,你应该在你的精灵周围有一个假想的盒子。然后只需检查边界框何时与线相交。当它发生时,你将你的精灵向相反的方向移动。

这个关于游戏开发堆栈交换的问题应该会有所帮助。

于 2012-08-02T18:41:27.193 回答
1

对于以恒定速度沿直线运动的物体,其坐标是时间的仿射函数:

x(t) = vx*t + x0
y(t) = vy*t + y0

其中(vx,vy) 是恒定速度(或速度)矢量和(x0,y0)原点位置(在时间 0)。

我建议阅读一些关于运动学的基本入门课程

因此,您可能不想“在线迭代”而只是在屏幕上移动某些东西,即在每个时间段计算其位置。

(我在法国的高中就学过这样的方程式)

于 2012-08-02T18:03:43.913 回答