[18]ぶつかったキャラクターの大きさを変える

今回は、あるオブジェクトに触れたら、触れたキャラクターが大きくなったり、小さくなったりする方法を学びます。

・まず、「Hierarchy」→「Create」→「3D Object」→「Cube」で新たにオブジェクトを1つ作成してください。

・名前は「ScaleChange」に変更してください。

・次に、スクリプト(台本)を作成します。

「C# Script」を作成し、名前を「ScaleChange」に変更します。

・作成した「ScaleChange」スクリプトをダブルクリックします。

・下記のお手本を参考にコードを書いてみましょう。

using UnityEngine;
using System.Collections;

public class ScaleChange : MonoBehaviour {

	// ★このメソッド(命令ブロック)を記載する
	void OnTriggerEnter(Collider other){
		other.gameObject.transform.localScale = new Vector3(0.3f, 0.3f, 0.3f);
	}
}

(ここがポイント!)

・これまで何度も登場してきた「OnTriggerEnter」の命令ブロックを使います。

・今回は、ぶつかったら「大きさ(Scale)」を変更するようなプログラムを書きます。

「localScale」というのが、大きさを変更するためのプロパティになります。

・Vector3の数字を変えれば、大きさは自由に変更できます。ただし、数字を「小数」にする場合には必ず「f」をつけましょう。

・スクリプトが完成したら、ScaleChangeオブジェクトにドラッグ&ドロップする。

・最後に「Is Trigger」にチェックを入れるのも忘れずに!

(復習;音もつけてみよう)

ぶつかった時に、さらに効果音も追加してみましょう。

・「ScaleChange」スクリプトに下記のコードを追加します。

using UnityEngine;
using System.Collections;

public class ScaleChange : MonoBehaviour {

	// ★★変数を定義する
	public AudioClip scaleChange;


	void OnTriggerEnter(Collider other){
		other.gameObject.transform.localScale = new Vector3(0.3f, 0.3f, 0.3f);

		// (復習)
		// ★★下記に効果音を出すコードを記載しましょう。
		// テキスト[7]コインをゲットしようを参考にする。
		//↓↓ここに書いてみよう!


	}
}

・効果音として使いたいデータは「Import New Asset….」でUnityの中に入れておきましょう。

・インポートした効果音データをドラッグ&ドラッグでセット。

スクリーンショット 2015-11-15 6.44.55

・再生ボタンを押してみましょう。

オブジェクトに触れたら、効果音が鳴って、キャラクターの大きさが変わったら成功です。


(これも挑戦しよう!)

*オブジェクトの大きさを元に戻すことにも挑戦してみましょう。