unity5でホッケーゲームを製作中なのですが、敵AIの作り方が分かりません。
別スプリクトでプレハブ化したボールのx,z座標を取得し、それを跳ね返すように敵のオブジェクトを左右に移動させるC#スプリクトを書きたいです。
宜しくお願いします。
追記
Rigidbodyでy方向の移動と回転をフリーズ、Use Gravityのチェックを外して、
c#
1using UnityEngine; 2using System.Collections; 3 4public class ballmove : MonoBehaviour { 5 public int speed; 6 Rigidbody rb; 7 // Use this for initialization 8 void Start () { 9 rb = GetComponent<Rigidbody>(); 10 rb.AddForce((transform.up + transform.right) * speed, ForceMode.VelocityChange); 11 } 12 13 // Update is called once per frame 14 void Update () { 15 16 } 17}
というスプリクトを当てて移動するようにし、プレハブ化したボールのオブジェクトを
この大砲のオブジェクトに
C#
1using UnityEngine; 2using System.Collections; 3 4public class shoot1 : MonoBehaviour { 5 6 // Use this for initialization 7 void Start () { 8 9 } 10 public GameObject ball; 11 // Update is called once per frame 12 void Update () { 13 14 if(Input.GetButtonDown("ball1")){ 15 Instantiate(ball,transform.position,transform.rotation); 16 17 } 18 } 19 }
というスプリクトをあててボールを発射させるようにしました。
図の上にある黒いバーが敵で、上記で発射されたボールのx,z座標を取得し、if文でボールのz軸が0より大きくなったら得たx軸座標へ決めた一定のスピードで移動して、間に合えばボールを跳ね返す
よう動作するc#スクリプトを書きたいです。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー