スクリプトの基礎の基礎 Unity覚書

ベース構造概念

プロジェクト(本)>シーン>(章)>アセット(資源)>オブジェクト、スクリプト、テクスチャ、アニメノード、モーション(データ)


ヒエラルキー概念

シーン>カメラ、ライト、ゲームオブジェクト(空のスクリプトをはるため虚体)オブジェクト(モデリングされた実体)


スクリプトを動かすには、何らかのゲームオブジェクトと結びつける必要があります。例えば、キャラクターを動かすためのスクリプトは、キャラクターにしたいオブジェクトと結びつけることで動作します。また、カメラを操作するスクリプトはカメラオブジェクトと結びつけることで動作します。このように、作成したスクリプトを動かすためには特定のオブジェクトにアタッチする必要があります。


スクリプトの{}で挟まれた部分をブロックと読みます。

クラス名=スクリプト名



1   using UnityEngine; 

2   using System.Collections; 

3   public class Test : MonoBehaviour { 

4   void Start() { 

5   // Hello, Worldをコンソールビューに表示する 

6   Debug.Log("Hello, World"); 

7    } 

8   void Update() {

9    } 

10  }


1.2はこのエンジン(機能)でやりますよ宣言

3はこのクラスで管理しますよ宣言

4は一度だけ実行!

8は1フレームごとに実行!

;はここで一区切りですよって意味。

{}ブロックのなかにやりたいことを書く。

//□□□□□□ //以降、列の最後までプログラムとしては無効なもの。(但し書き)



変数の宣言

変数の型(箱みたいなもの)

int             整数 

float   小数

doble   倍精度浮動小数点? よくわからない

bool   ture false

char          Unicode記号

string  テキスト


using UnityEngine; 

using System.Collections; 

 public class Test : MonoBehaviour {

 void Start() { int age; 

       age = 30;

       Debug.Log(age);

      } 

}


定型文>  一回こっきりStart() >  {}のなかにやりたいこと。int=変数名 変数名=30

>Debug.Logとは、結果をコンソールに(age)を表示しなさい! >出力結果は30となる。

30という値をageという名付けた箱の中に入れれますよというイメージ。

=は代入演算子 右辺と左辺がイコールとう意味ではない。


float型の場合代入する数字の後ろのfをつけます。fをつけないとduble型になるらしいです。

floatとdubleの違いは扱える数字の範囲が違います。

なんで広い範囲のほうだけじゃないのかは今のところ分かりません。


string型だと文字列を扱います。文字の場合は"で文字をくくります。



void Start () {

 // 変数と数字

 int age = 28;

 Debug.Log(age);

 }


というふうに連ねても書ける。

"Hello, World"

とはプログラム入門書では最初によく使われる文字らしいw




if文 制御文というらしい

比較演算子

== 左辺と右辺が等しい場合に真

!=左辺と右辺が等しくない場合に真

>左辺が右辺より大きい場合に真

>=左辺が右辺以上の場合に真


条件式>処理    というながれ。



void Start () {

 // 練習スクリプト

 int harbNum = 1;

if(harbNum==1){ 

 Debug.Log("をりゃー");

 } 

 }



if-else文


 // if-else文練習スクリプト

 int hp = 200;

 if (hp >= 100) {

 Debug.Log("攻撃");

 }else {

 Debug.Log("防御");

 }



条件に合った処理に行く流れ

条件は増やせます。

行のさいしょに//をつけることをコメントアウトと言う


for、配列、関数、引数、クラス、Vector あたりから、覚えられないのでとりあえずここまで。