(1)オブジェクトに「命令」を与える方法
先ほど作成した「Coin」を動くようにしてみましょう。
(ここがポイント!)
・今回、プログラミング言語は「C#」というものを使います。
・「Script(スクリプト)」とは「台本」とか「脚本」という意味があります。プログラミングの台本の中には、「こういう具合に動け」という指示(命令)を書いていきます。書いた台本はオブジェクトに適用する(与える)ことで、オブジェクトは台本通りに動くようになります。
・「Assets」の余白で右クリック
・「Create」を選択
・「C# Script」を選択してクリック
・名前を「Coin」に変更する。
・名前の変更が済んだら「Coin」スクリプトをダブルクリック
・「MonoDevelop」というコードを書くためのツール(エディタ)が起動します。
(2)コードを書く
・下記のお手本を見てコードを記載してみましょう。
*書く場所に注意。
*大文字、小文字に注意。
using UnityEngine; using System.Collections; public class Coin : MonoBehaviour { // Use this for initialization void Start () { } // Update is called once per frame void Update () { // ↓この一行を書いてみよう transform.Rotate(new Vector3(0,0,90) * Time.deltaTime); } }
(ここがポイント!)
・「{ }」が1つの命令のかたまり(ブロック)と覚えよう。
・「void Start(){ }」は、「最初に1回だけ実行される」命令ブロック
・「void Update(){ }」は、「フレームが更新されるごとに呼び出される」命令ブロック
・コードの最後の部分に「;(セミコロン)」を必ず付けること。(セミコロンを付け忘れるとエラーになるので注意!)
・コードを書いたら必ず「セーブ」すること
・コードが書けたら、「スクリプト」をオブジェクトに適用させる(ドラッグ&ドロップ)
・「スクリプト」が適用されているか確認。
・ここまでできたら「再生ボタン」を押してみましょう。
・コインが回転したら成功です。
(3)試してみよう(応用)
Q.コインの回転速度を速くするにはどうしたらよいでしょう?
using UnityEngine; using System.Collections; public class Coin : MonoBehaviour { // Use this for initialization void Start () { } // Update is called once per frame void Update () { // 回転速度を10倍にする方法 // コードの最後に「* 10」を追加する。 transform.Rotate(new Vector3(0,0,90) * Time.deltaTime * 10); } }
・数字をいろいろ変えてどうなるか試してみましょう。
(ここがポイント!)
・プログラミングで「*」は「掛ける」の意味(例;「*10」は、10を掛ける)
・「小数点」を使う場合には、数字の後に「f」(floatの略)を付けること(例;0.5f)。fを付けないとエラーになるので注意!