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 からデルタ単位だけ離れた pointA-pointB の線のポイントを返し、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 に答える