寻的导弹,它们如何工作?

2024-01-10

我正在尝试创造什么

  • 一个会向玩家发射导弹的物体,如果它与玩家相撞,玩家就会死亡。

问题

  • 导弹如何朝玩家移动。

  • 如何使导弹移动,使其不会立即直接移向玩家(以一定角度缓慢移动)。

我有一个公式,让鼠标成为“玩家”,而导弹则朝它飞去。

        mouse = Mouse.GetState();

        mousePosition = new Vector2(mouse.X, mouse.Y);

        A = (mouse.X - Position.X);
        B = (mouse.Y - Position.Y);
        C = (A * A) + (B * B);

        C = (float)Math.Sqrt(C);

        Angle1 = A / C;
        Angle2 = B / C;

(画画是最好的!)

这只能获取导弹到玩家的距离,现在我需要找到角度或其他东西来移动导弹,我需要做什么?


您可以获得从一点到另一点的距离,并将其转化为要去的方向。

//Find the delta time
float delta = (float)gameTime.ElapsedGameTime.TotalSeconds * 60;
//Find the direction
Vector2 direction = mousePosition - misslePosition;
direction.Normalize();
//Move towards it
currentPos += direction * delta;

它需要乘以经过的时间,这样无论您以什么 FPS 运行,它看起来都是一样的。

您可能需要调整速度,但它应该创建如下所示的模式:

如果你想让导弹慢慢转向目标,你可以尝试MathHelper.Lerp慢慢改变角度。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

寻的导弹,它们如何工作? 的相关文章

随机推荐

  • 如何制作一个带有 UITextView 的 UITableViewCell,在 UITextView 的基础上动态调整其高度?

    我想要一个 tablew 视图 其行为类似于 Apple 的 iPhone 联系人应用程序 一个 uitableviewcell 里面有一个 uitextview 这样当我在 uitextview 中写入时 uitextview 会增加其高
  • CSS3 中为什么有供应商前缀? [复制]

    这个问题在这里已经有答案了 我可以理解将它们用于非官方的实验性事物 即不在 CSS3 规范中 以防止名称冲突 但为什么需要阴影等前缀 每个供应商不应该按照 CSS3 规范实现相同的效果吗 编辑 CSS3 最终确定后 前缀会消失吗 我只是好奇
  • 如何修改后台 Cloud Function 的 Google Cloud Pub/Sub 订阅确认截止时间

    通过以下方式为 Cloud Pub Sub 部署后台 Cloud Function 时 gcloud functions deploy function name runtime python37 trigger topic some to
  • SFML RenderWindow 需要很长时间才能打开窗口

    我知道这本质上是重复的 但是this https stackoverflow com questions 50988505 sfml renderwindow taking inconsistent time to display从未得到答
  • 修改Google Sheet纸张尺寸

    这是我第一次在谷歌表中使用脚本 我在网上看到了一些代码 我只是想知道如何修改下面代码的纸张尺寸 我们国家的法定尺寸是 8 5 x 13 var exportUrl url replace edit export exportFormat p
  • 鼠标悬停时的 Flash 事件

    有没有办法找出将鼠标移到 Flash 项目中的对象上时调用哪些方法 如果您尝试以下操作 您将能够跟踪对象上的每个侦听器 它将调用所有不带任何参数的侦听器 这将引发错误 如果你发现错误 你可以解析error getStackTrace查看听众
  • 如何发送带有添加空格的 urllib2 请求

    我正在尝试发送一个请求来打开使用空格的网页网址 以便我可以从该页面下载文件 在普通浏览器 即 Chrome 中 当您在地址栏中输入 url 时 文件会自动生成并要求您下载 我不再需要每次需要一组日志时都加载 Web 浏览器 而是尝试创建一个
  • 为什么弹性项目不会缩小到超过内容大小?

    我有 4 个 Flexbox 列 一切正常 但是当我向列中添加一些文本并将其设置为大字体大小时 由于 Flex 属性 它使列比应有的宽度更宽 我尝试使用word break break word它很有帮助 但是当我将列的大小调整到非常小的宽
  • 如何检索 slurm 脚本的内容?

    我几天前提交了一份工作 现在仍在运行 但我忘记了内容script sh那天 还有script sh已被删除 您知道如何恢复该脚本的内容吗 在最新版本中 您可以使用以下命令检索您自己作业的作业脚本 scontrol write batch s
  • 常见问题解答的语义 HTML 标记 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 具有不同原型的函数指针向量,我可以构建一个吗?

    我正在为一个名为 virtual machine 的类做一个解析器 我正在尝试为其构建一个函数向量 但是 vm 上的一些函数需要参数 不同数量 类型的参数 我仍然可以将它们放入我的向量中吗功能 因为它们只有 void f 这是代码 clas
  • 是否可以保存 Java Class 文件?

    我环顾四周 但似乎没有什么能完全涵盖我想做的事情 是否可以保存一个Class
  • Django 管理中的 MultiValueDictKeyError

    UPDATE model class PicturesManager models Manager def create pictures self flat img pictures self create car car image i
  • Butterknife 无法在我的适配器类中绑定

    我有一个适配器可以为我的导航抽屉绘制布局 我的导航抽屉包含两个内部 xml 文件 一个是Header另一个是Row 我将它们绘制在一个适配器中 但是当我尝试时setText 在我的标题上 我无法绑定 这是我的适配器类 public clas
  • Objective C 中 AudioToolbox 的引用错误

    我在一个简单的 Roulett 应用程序中尝试播放一些 wav 文件时遇到以下错误 我不确定该错误意味着什么 因为代码中没有出现警告标志 并且我已导入 这是错误 未定义的符号 AudioServicesCreateSystemSoundID
  • 快速对数计算

    所有代码都在同一台 Linux 机器上运行 在Python中 import numpy as np drr abs np random randn 100000 50 timeit np log2 drr 10 个循环 3 个循环中最好的
  • 解释 @property id 的语法

    在使用类似的东西编写委托时 我看到很多代码引用 property nonatomic weak id
  • 图像类型 int16 到 uint8 的转换

    我有一个具有数据类型的图像int16 因此 当我必须将其范围转换为 0 255 时 我有两种方法可以在 Python 中实现 1 Use numpy uint8直接运行 2 使用OpenCVcv2 normalize函数范围为 0 255
  • 通过互联网连接套接字失败

    目录 Preface 服务器端代码 客户端代码 本地计算机示例 成功的 互联网网络示例 不成功 我的可能性考虑 Preface 我从 MSDN 的类库示例中获取这些代码 所以它必须正确工作 是的 我说对了一部分 在我的电脑上运行就成功了 但
  • 寻的导弹,它们如何工作?

    我正在尝试创造什么 一个会向玩家发射导弹的物体 如果它与玩家相撞 玩家就会死亡 问题 导弹如何朝玩家移动 如何使导弹移动 使其不会立即直接移向玩家 以一定角度缓慢移动 我有一个公式 让鼠标成为 玩家 而导弹则朝它飞去 mouse Mouse