Tag: game physics

如何用弧形制造抛射物

我有一门用抛物线射出子弹的大炮。 现在,当我发射子弹时,它保持与从大炮发射时相同的旋转。 我如何制作它以使子弹在空中传播时沿弧线旋转? 我尝试了以下作为在子弹上运行的脚本 图表1 public class PointingBehaviour:MonoBehaviour { private Rigidbody rb; private void Awake() { rb = GetComponent(); } public void Update() { transform.up = rb.velocity; } } 而且效果相当好。 但是我看到物体存在的第一帧上有轻微的闪烁(我认为这是因为此时速度仍为0)并且一旦物体撞击地面,物体就会无法控制地旋转。 我让它在开始时停止闪烁,并通过执行以下操作停止旋转 public class BulletController : MonoBehaviour { private Rigidbody _rb; private bool _followArc; private bool _firstFrame; private void Start() { _rb = GetComponent(); _firstFrame […]

归航导弹,它们如何工作?

我想要创造什么 向玩家发射导弹的物体,如果与玩家发生碰撞,玩家将死亡。 问题 导弹是如何向玩家移动的。 如何使导弹移动,使其不会立即直接向玩家移动(以一个角度缓慢移动)。 我有一个让鼠标成为“玩家”和导弹的公式。 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; (绘图是最好的!) 这只能获得从导弹到玩家的距离,现在我需要找到移动导弹的角度或东西,我需要做什么?

使对象移向另一个对象位置

我目前拥有的是两个可以通过导航键播放的对象,另一个可以通过wasd播放。 关键是获得第三个对象并获得一个点,并且在捕获它之后它会获得一个新的pos,这有效。 现在……我希望npc2不再受人类控制,并创建一种方法让它自己移动到得分对象上。 我怎么可能做到这一点? 我是新来的c#:) FORM.cs如下 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace SPEL { public partial class Form1 : Form { npc npc1 = new npc(); npc npc2 = new npc(); sten ste1 = new sten(); int poang1 = 0; int poang2 = 0; […]