top of page

スクラッチのその次は?スクラッチブロック→Unityコード 変換表 「定義」編

スクラッチからUnityへシフトアップ!

9回目は完結編「定義」グループのご紹介です。






ブロック定義は「関数」と呼ばれる機能で実現します。

関数はその動きを定義する部分(作成する部分)と作成された関数を呼び出す部分が必要になります。また関数には「引数」「戻り値」なども機能もあります。

 
スクラッチブロック ブロック定義宣言

定義の作成(引数無し)


最も簡単な関数は、引数も戻り値もないパターンの関数です。

関数を定義する場合、頭に型名を指定、その後に任意の関数名を指定、さらに( )(丸カッコ)を記述して、{ }(中カッコ、波カッコ=ブレース)の中に命令文を記述します。

頭の型名ですが戻り値の型を指定するもので、戻り値が無い関数を作成する場合、「void」を指定します。「void」は空(から)の意味を持ち、戻り値が無いことを示唆します。

  • 使用例 戻り値、引数無しの関数定義

void Move()
{
    transform.position += Vector3.right * 0.01f; //0.01ずつ右に移動
}
 
スクラッチブロック ブロック定義活用

定義の呼び出し(引数無し)


定義を呼び出す場合は、定義した関数名を丸カッコ付きで記述します。

  • 使用例 戻り値、引数無しの関数の呼び出し

if (Input.GetKey(KeyCode.D))    //もしDキーが押されたら
{
    Move();                     //関数 Move() を発動
}
 
スクラッチブロック ブロック定義宣言 引数あり

定義の作成(引数あり)


引数とは、関数にバリエーションを与えるもので、関数内で変化させたい部分を引数を使って置き換えます。引数は変数の宣言と同じように、型名と引数名をセットで指定します。また、1つの関数に引数はいくつでも指定することが出来ます。

  • 使用例 戻り値なし、引数ありの関数定義

void Move(float speed)    //引数:小数型のspeed を指定  
{
    transform.position += Vector3.right * speed; //speed の速さで右に移動
}
 
スクラッチブロック ブロック定義活用 引数あり

定義の呼び出し(引数あり)


引数がある関数を呼び出す場合は、関数名の後のカッコの中に指定する引数の値を記載します。引数が複数ある場合は、,(カンマ)で区切って定義された順番に記述します。

  • 使用例 戻り値なし、引数ありの関数の呼び出し

if (Input.GetKey(KeyCode.D))   //もし Dキーが押されたら
{
    Move( 0.02f );             //関数 Move() に 0.02f の引数を代入し発動
}
 

定義の作成(引数あり、戻り値あり)


スクラッチには「戻り値」という機能はありませんが、「戻り値」定義を呼び出したときの結果というものになります。

スクラッチブロック ブロック定義引数あり事例

例えば左のブロックの様に、定義の引数に(数字1)と(数字2)を用意し、定義の内容に、

数字1+ 数字2 の答えを言う 

というブロックを作ったとします。

Unityで同じようにこの関数を定義した時、答えを整数型で求めたい場合は、関数の型に整数型(int型)を指定します。

もとめたい答えは「return」をいう文字の後に指定します。

  • 戻り値、引数のある関数の作成

int Add(int a,int b) //整数型の引数:a,b 、及び整数型で戻り値を求める関数
{
    return a + b;     //引数:a +引数:b の答えを返す
}
 
スクラッチブロック ブロック定義発動 引数あり事例

定義の呼び出し(引数あり、戻り値あり)



戻り値有りの関数を呼び出すには、関数の後のカッコの中に引数を入れて発動します。発動したときにその関数に、関数を発動した結果の値が代入されます。

スクラッチブロック ブロック定義活用事例

例えば左の事例では、スペースキーが押されたとき、関数「足し算」に引数:3 と引数:5 が渡され実行、実行プログラムで答えを言います。


Unityでは関数の実行プログラムで行われるのは計算のみ、発動のタイミングで発言させたり表示させたりします。

  • 関数の発動 引数あり、戻り値有り

if (Input.GetKeyDown(KeyCode.Space))  //スペースキーが押された
{
    Debug.Log(Add(3, 5));            //引数:3,5 を渡して関数を発動
}                                    //Consol に 8 と表示される
 

ファイブボックスでは、スクラッチはもう卒業、という方向けにUnityの個別指導のオンラインレッスンを行っています。

ご興味のある方は当サイト、オンラインレッスンから、無料体験授業へお問い合わせ下さい。

Comments


ファイブボックス 上田教室

bottom of page