微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Delphi 填充路径

如何解决Delphi 填充路径

首先介绍一下背景。我在 Delphi 10.3、FMX 中开发了一个非常简单的 2D 游戏,它在屏幕底部为游戏的每个级别绘制随机地形。 无论如何,地形只是一些在 Tpathdata 中使用的随机数,然后我使用 fillpath 来绘制这个二维“地形”。 我想检查“下落”物体(例如 trect)何时与该地形相交。 我的想法是获取 tpathdata 的所有点,屏幕宽度的每个 X 位置的每个 Y 位置。这样我就可以轻松检查对象何时与地形相交。 我只是无法弄清楚如何去做,或者是否有人有任何其他解决方案。我真的很感激任何帮助。谢谢

解决方法

这不是一个真正的 Delphi 问题,而是一个数学问题。

您应该对地形进行数学表示。表示地形边界的多边形。然后你需要使用数学来知道一个点是否在多边形内。见Wikipedia

您也可以使用具有相同屏幕分辨率的黑白位图以纯图形方式实现它。您将整个位图设置为白色,并在底部绘制地形为白色。然后检查该位图中像素的颜色,您就会知道它是在地形之外(黑色)还是在地形内(白色)。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。