はじめに
スクリプトとはプログラミングを書いたファイルのことです。Unityでは、スクリプトをオブジェクトに適用することで、プログラミングによってオブジェクトを動かすことができます。本記事では、スクリプトの作成の仕方と作成したスクリプトの適用の仕方を解説します。
Unity上でのスクリプトの作成方法
- プロジェクトウィンドウで右クリック
- 「Create」を選択し、「C# Script」をクリックする
- プロジェクトウィンドウに作成されたスクリプトに名前をつける
※名前は半角英数のみ
- 名前をつけたスクリプトをダブルクリックする
スクリプトにデフォルトで書かれているもの(Unityと連携している場合)
Unityと連携しているため、デフォルトでUnityの機能が要されています。
スクリプト上部にある「using」の固まりは使用する機能の宣言をしています。「using System.Collections;」と「using System.Collections.Generic;」はC#の機能を使用するということを宣言し、「using UnityEngine;」はUnityの機能を使用するということを宣言しています。
その下の「public class [スクリプト名]」ではclass(設計図)の名前が宣言されています。「public」はこのclassにアクセスできる範囲を指定する権限です。「public」の他に「protected」や「praivate」があります。「public」では、どこからでもアクセスできるレベルを指定しています。
class名の隣にある「MonoBehavior」はこのclassの親classを表します。親クラスとは、あるclassを作成するにあたっての土台となるclassです(継承)。今回のスクリプトであれば、class名以下に書かれたテキストは元々Unityが作成しておいてくれたclassを土台として作成されたものです。
classの中に書かれている「//」は、使用者がこのclassをより使いやすくするためのコメント(説明)です。プログラム上では意味を持ちません。
「Void Start()」(Startメソッド)と「Void Update()」(Updateメソッド)はメソッドです。メソッドはclassにおける1つ1つの機能です。StartメソッドはこのClassがゲーム内でインスタンス化(実体化)された時に1度だけ呼び出されます。Updateメソッドはインスタンス化された後は毎フレーム呼び出されます。
スクリプトの適用
スクリプトをオブジェクトに適用することをインスタンス化といいます。インスタンス化は簡単で、オブジェクトの「Add Component」にスクリプトをドラッグ&ドロップすれば完了です。ゲームビューで再生ボタンを押すことで、スクリプトによってオブジェクトが期待通りに動作しているかの確認をすることができます。
▶
【Unity連載】プログラムからGameObjectやComponentの有効無効を切り替える
▶
【Unity連載】ランダムな要素の作成には乱数を使おう
▶
【Unity連載】Enumを使ってゲーム中の状態や条件をわかりやすく管理しよう
▶
【Unity連載】オブジェクトの親子関係
▶
【Unity連載】ワールド空間とローカル空間
▶
【Unity連載】オブジェクトの向き(ベクトル)の取得
▶
【Unity連載】コンソールにログを出力しよう!
▶
【Unity連載】条件分岐をしよう!(if文)
▶
【Unity連載】条件分岐をしよう!(switch文)
1.導入・準備編 ~ この連載について ~
2.導入・準備編 ~ 初期設定とUIの作成 ~
3.プロトタイプ編 ~ 壁・床・天井の作成 ~
4.プロトタイプ編 ~ プレイヤー作成 part1 ~
5.プロトタイプ編 ~ プレイヤー作成 part2 ~
6.プロトタイプ編 ~ プレイヤー作成 part3 ~
7.プロトタイプ編 ~ 箱の作成 part1 ~
8.プロトタイプ編 ~ 箱の作成 part2 ~
9.プロトタイプ編 ~ シーンの制御 part1 ~
10.プロトタイプ編 ~ シーンの制御 part2 ~
11.プロトタイプ編 ~ ゴール・トラップの作成 ~
12.プロトタイプ編 ~ ギミック(ドラゴン)の作成 part1 ~
13.プロトタイプ編 ~ ギミック(ドラゴン)の作成 part2 ~
14.プロトタイプ編 ~ ギミック(ドラゴン)の作成 part3 ~
15.アセット編 ~ アセットストアの使い方と壁・床・天井への適用 ~
16.アセット編 ~ 箱の作成 part1 ~
17.アセット編 ~ 箱の作成 part2 ~