Unityのプロジェクトウインドウでプログラムを作成し、それをWクリックすることでプログラムを作成することが出来ました。が、今度は立ち上がったばかりのプログラミングソフトにすでにプログラム(コード)が書いてあります。これがそれぞれどんな意味を持つのか解説します。
デフォルトで入っているコード
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class NewBehaviourScript : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
}
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class NewBehaviourScript : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
}
}
using System.Collections;とusing System.Collections.Generic;はC#の機能を使用しますという宣言、using UnityEngine;はUnityの機能を使用しますという宣言です。
デフォでそれらの機能が用意されており、それらを使ってプログラミングできるということです。
public class NewBehaviourScript : MonoBehaviour
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class NewBehaviourScript : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
}
}
public class NewBehaviourScript : MonoBehaviourのNewBehaviourScriptはUnityで作成したプログラム名です。ここが変更した名前と合致していないとおかしいです。こちらの記事を参照してください。
まず、classとは設計図のことです。教室の様なものと思ってください。(生徒がたくさんいて、そのたくさんの集まりのことを3-1とか3-5とかまとめて名称にするのと同じ感覚)
次にpublicとは、公共の~と言う意味ですね。意味はそのままで、例えば自分で自分を呼び出したり、他の場所でこのクラスを呼び出したりすることができるということです。
例えばこのクラスには炎上魔法「ファイアを唱えるプログラム」を書いているとします。そして他のプログラムでキャラクターを動かし、ファイアを使いたい時にはこのプログラムを呼び出して利用します。このように誰でも利用できるのがpublicです。
続いてMonoBehaviourですが、こちらはUnity側で用意されたものです。Unityの機能を使いたいですよと宣言しています。ちょっと難しく言うと「継承」しています。こちらに機能が書いてあります。
void Start() { }
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class NewBehaviourScript : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
}
}
void Start() {}の{この中}には、このプログラムを読み込んだ際最初に1度だけ実行されるプログラムの内容を書きます。
例えば男の子がりんごを食べるプログラムを組むとしましょう。とすると、このvoid Start() {}の{}の中には「りんごをあげる」プログラムを組みます。
何度もりんごをあげると男の子の手元がりんごであふれ返ってしまうので、1度にとどめておきましょう。
void Update() {}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class NewBehaviourScript : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
}
}
void Update() {}の{この中}には、プログラムが実行された後、毎フレーム実行される内容を書きます。
フレームと言うのは1秒間に何枚パラパラ漫画のイラストを表示させるか、という単位「FPS」(Frame Per Second)です。ゲームですと最低でも60FPS(1秒間に60パラパラ/60フレーム)になります。これって結構なボリュームに感じますよね。だからゲームって重いんだ~って思いました。(感想)
↑の例で行くと、りんごの咀嚼(噛む)の内容を書き連ねる形となります。ですが1秒間に60回も噛むのはさすがに化け物なので1FPSくらいにしておきましょう。