所以首先要了解一些背景。我正在开发一个非常简单的2D游戏,在Delphi10.3,FMX中,它在屏幕底部为游戏的每个级别绘制一个随机的地形。无论如何,地形只是Tpathdata中使用的一些随机数,然后我使用fillpath绘制这个2d";地形";。我想检查一下当;"下降";物体,例如trect,和这个地形相交。我的想法是得到tpathdata的所有点,屏幕宽度的每个X位置的每个Y位置。这样我就可以很容易地检查物体何时与地形相交。我只是不知道该怎么做,或者是否有人有其他解决方案。我真的很感激你的帮助。感谢
这不是一个真正的Delphi问题,而是一个数学问题。
你应该有一个地形的数学表示。表示地形边界的多边形。然后你需要使用数学来知道一个点是否在多边形内。请参阅维基百科。
您也可以使用与屏幕分辨率相同的B/W位图来实现它。将整个位图设置为白色,并在底部以白色绘制地形。然后检查位图中像素的颜色,你就会知道它是在地形外(黑色(还是在地形内(白色(。