[12]動くオブジェクトを作ろう

(今回はこんなことを学びます)

・プログラミングでオブジェクトを自動的に動かす方法

(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軸方向に動いていれば成功です。

スクリーンショット 2015-10-16 0.37.08

(2)応用;上下に動くオブジェクトを作ってみよう!

・上記ではオブジェクトを「左右の横方向」に動かしました。

・では、オブジェクトを「上下の縦方向」に動かすにはどうしたらよいでしょうか?

・コードの一部分を変更すればこれを実現できます。どの部分を変更すればよいでしょうか?

・まずは自分で考えてみましょう。そして、考えてみたことを実際に試してみましょう。