- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在创建一款赛车游戏,在创建 AI 时遇到了一些问题。我需要做的是让 AI 从 X、Y 位置到另一个 X、Y 位置的“检查点”。 AI 驾驶轨迹将通过在将要前往的 map 周围放置不同的隐形检查点来创建。
我可以通过计算 X、Y 从我到它的差异然后使用 tan(Deg) = Y/X 来获得到检查点的方向,女巫给了我必须从当前位置出发的方向。
distanceToMoveX = checkpoint1X - this.getX();
distanceToMoveY = checkpoint1Y - this.getY();
newDirection = ((double)distanceToMoveY / distanceToMoveX) * 100;
现在我有了从当前位置出发的方向,也有了当前移动的方向。我现在要做的是让我的 AI 意识到它更接近右转,如果我当前的方向是 350 而我想去 10。因为现在我只能让它一直右转或左转。
最佳答案
嗯,我猜你在某个地方计算实际角度和下一个角度之间的差异,比如 turn = newDirection - actualDirection
。
10 - 350 = -340
告诉您 AI 它需要转动 -340°。
但是,(10 - 350 + 360) % 360 = 20
告诉您的 AI 它需要转动 +20°。添加 360 是为了确保您的角度为正,因此模数将按预期工作(因为 -340 % 360 = -340)。
你真正想要的,永远不要转超过 180°。因此,在减少 0 和 360 之间之前再添加 180,然后删除它们,这将使您的结果在 [-180,180] 中移动,同时保持模块 360°(因此角度相同):
turn = (newDirection - actualDirection + 540) % 360 - 180
然后,如果您不希望它一次完成,您可以按照自己的意愿分开这个转弯,例如,一次 5 度,就像您似乎已经在做的那样。
关于java - 我如何告诉 java 它更接近 350 -> 355 -> 360 -> 05 度而不是一直绕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27205801/
我有一个在 Android 市场上相当流行的应用程序,它允许数以万计的用户按下一个按钮并向它发出语音命令。然后我就可以做很多不同的事情,比如给他们提供当前的天气预报等等...... 无论如何,我的应用
令人惊讶的是,标题基本上解释了它。我们有一个我们的客户制作的页面,我们正在重新创建该页面。 页面高度会一直增加,直到(我假设是这样)浏览器达到它的极限。我已经尝试过 Firebug 和 W3 验证器,
我是 react-native 的新手,试图创建我自己的组件,但它一直显示一个空屏幕。 这是我的组件代码 class BoxComponent extends Component { cons
我正在为我的 PHP 元素创建一个非常简单的博客,但遇到了一个简单的问题。我无法让我的页眉图像一直 float 。我有一个横幅,左边有一些文字,我有一个 1px 的切片,在可以选择的任何分辨率的宽度上
为什么我可以在另一个 Controller 的 View 中访问一个 Controller 的辅助方法?有没有办法在不破解/修补 Rails 的情况下禁用它? 最佳答案 @George Schreib
我正在使用带有最新 ADT 插件的 Eclipse Kepler SP2。每隔一分钟 Eclipse 就会说“为 Android 4.4.2 加载数据”并阻止我想做的一切。我在不同的文件夹中有几个 E
我是一名优秀的程序员,十分优秀!