2

我有一个移动的物体,当你按下 shift 键时,它会从它身上发射一个弹丸

我希望我的弹丸移动到特定点 (0,0,10)

我已经尝试了以下代码,但它不起作用

if (Input.GetKey("right shift")||Input.GetKey("left shift")) {
            Rigidbody clone;
            clone = Instantiate(projectile1, transform.position, transform.rotation) as Rigidbody;
            clone.velocity=new Vector3(0,0,10);

任何人都可以帮忙吗?

4

1 回答 1

3

如果您想要一个恒定的速度,请改用 MoveTowards:MoveTowards(pointA, pointB, delta) 在 pointA-pointB 线中返回一个点,与 pointA 相距较远的增量单位 - 并钳制到 pointB,因此它永远不会超出目标点。

if (Input.GetKey("right shift")||Input.GetKey("left shift")) {
            Rigidbody clone;
            clone = Instantiate(projectile1, transform.position, transform.rotation) as Rigidbody;
            clone.position = Vector3.MoveTowards(transform.position, new Vector3(0,0,10), Time.deltaTime * speed); }

其中速度以米(或单位)每秒为单位。

于 2013-01-14T00:03:52.267 回答