(今回はこんなことを学びます)
・プログラミングでオブジェクトを自動的に動かす方法
(1)スクリプトを作成する
・まず、「Hierarchy」で「Create」→「3D Object」→「Cube」で新たにオブジェクトを1つ作成してください。
・オブジェクトの名前は「MoveObject」に変更しておきます。
・「大きさ」と「色」は自由に設定しましょう。
・「位置」はBallを移動させて乗ることができる所にセットします。
・次に、「C# Script」を作成し、名前はこちらも「MoveObjct」に変更します。
・「MoveObject」スクリプトには下記のコードを記載しましょう。
*横スクロールでコード全体を表示します↓
using UnityEngine; using System.Collections; public class MoveObject : MonoBehaviour { // ★変数を定義する(データを入れるための箱を作る) private Vector3 initialPosition; // Use this for initialization void Start () { // ★定義した変数(箱)の中にデータを入れる initialPosition = transform.position; } // Update is called once per frame void Update () { // ★このコードを記載する transform.position = new Vector3(Mathf.Sin(Time.time) * 2.0f + initialPosition.x, initialPosition.y, initialPosition.z); } }
・スクリプトが作成できたら、「Hierarchy」にある「MoveObject」にドラッグ&ドロップしてください。
・「再生ボタン」を押して「MoveObject」の「Transform」をチェックしてみましょう。
・「Position Xの数値」が上下していると思います。同時に、画面の「MoveObject」もX軸方向に動いていれば成功です。
(2)応用;上下に動くオブジェクトを作ってみよう!
・上記ではオブジェクトを「左右の横方向」に動かしました。
・では、オブジェクトを「上下の縦方向」に動かすにはどうしたらよいでしょうか?
・コードの一部分を変更すればこれを実現できます。どの部分を変更すればよいでしょうか?
・まずは自分で考えてみましょう。そして、考えてみたことを実際に試してみましょう。