gpt4 book ai didi

java - 在我的游戏中使用弧线来表示角色的视觉,但在将弧线环绕墙壁时遇到问题

转载 作者:行者123 更新时间:2023-11-30 08:12:22 25 4
gpt4 key购买 nike

现在,我的游戏只是通过墙壁绘制角色的视锥。我希望电弧在到达墙壁时被中断,但在未到达墙壁的地方继续。

这是一个快速example我想要发生的事情。

我对编程还很陌生,我已经编程了大约 6 个月,但我的数学能力很强,所以请简单地使用编程术语,谢谢。

这是我的 GitHub如果您想更好地体验我的游戏。

最佳答案

您可以通过从角色向该方向转换光线并在遇到障碍物时停止来计算角色在任何给定方向上能看到多远。如何针对您的特定情况执行此操作的详细信息将根据对象在游戏中的表示方式而有所不同。

在您链接到的文章中,看起来墙壁是由线条制成的。如果您的游戏就是这种情况,您可以找到射线与墙的每条线段的交点。如果它们相交,那么它们相交的点就是您在该方向上可以看到的最远位置。

如果您在给定位置将对象表示为 Sprite ,则可以首先转换光线并查看它是否与 Sprite 的边界框相交。 (边界框只是 Sprite 周围的一个矩形,尽可能紧密地完全包含它。)一旦您知道光线与边界框相交,您就可以更仔细地观察该对象,看看 ray actually hits the sprite 是否存在。 .

关于java - 在我的游戏中使用弧线来表示角色的视觉,但在将弧线环绕墙壁时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30195082/

25 4 0
文章推荐: javascript - 如何在 javascript 中对多个 HTMLElement 事件使用相同的函数?
文章推荐: Java GregorianCalendar 字段
文章推荐: javascript - 优雅加载网页的技巧?
文章推荐: Java Arraylist 想要合并具有相同属性值的对象