【发布时间】:2021-11-28 08:32:22
【问题描述】:
所以我正在制作一个 TD 游戏,我可以在其中放置一把加特林枪,并且根据鼠标所在圆圈的哪个扇区,精灵和子弹路径会发生变化。
我的困难在于创建一个算法来告诉我我的鼠标在哪个扇区。
我的圆有 16 个扇区,半径为 300。每个圆弧的长度为 117.81。 从 (300,300) 扩展,我有一个精确的所有线坐标列表,所以我现在可以像这样绘制扇区: Circle
每当我的鼠标移动时,我都会使用鼠标侦听器来检测鼠标的坐标,所以我有一个“currentPoint”来检查它在哪个扇区内。 根据这些信息,谁能想出一种简单的方法来简单地返回鼠标当前所在扇区的整数?最好有点效率。
这是我考虑外观的两种方式: Two_Ideas
我确实看过这个 StackOverflow,它看起来像一个类似的问题:Efficiently find points inside a circle sector 我用 Java 实现了它,但如果没有向量,它似乎无法翻译,而且我对数学有点困惑,无法让它工作。
一段时间以来一直在尝试解决这个问题,我希望能在任何类型的实现方面提供任何帮助(不介意添加 Trig 计算),以及任何理解问题的帮助。 谢谢!!
【问题讨论】:
标签: java math geometry trigonometry