0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Unity初心者】関数(メソッド)説明シリーズ その4 用意されている関数-返り値無し 使い方

Last updated at Posted at 2020-04-18

#環境
Unity 2019.3.7f1

#はじめに
過去記事で関数(メソッド)の概略を説明しました。
https://qiita.com/Maru60014236/items/412925cdefd7a462caf8

以前紹介した関数の概略図
image.png

1.用意されている関数-返り値有-引数必要
2.用意されている関数-返り値有-引数不要
3.用意されている関数-返り値無-イベント関数-引数必要
4.用意されている関数-返り値無-イベント関数-引数不要
5.用意されている関数-返り値無-引数必要
6.用意されている関数-返り値無-引数無-①
7.用意されている関数-返り値無-引数無-②
8.自作の関数-返り値有-引数有
9.自作の関数-返り値有-引数無
10.自作の関数-返り値無-引数有
11.自作の関数-返り値無-引数無

関数(メソッド)説明シリーズ その1で"関数の作り方の基本"と8~11番の解説を行いました。
https://qiita.com/Maru60014236/items/2373c5582be82c63158f

関数(メソッド)説明シリーズ その2で1番と2番について解説を行いました。
https://qiita.com/Maru60014236/items/379635372d5ea4446c27

関数(メソッド)説明シリーズ その3で3番と4番について解説を行いました。
https://qiita.com/Maru60014236/items/5108c8b784da66f89964

今回は、
5.用意されている関数-返り値無-引数必要
6.用意されている関数-返り値無-引数無-①
7.用意されている関数-返り値無-引数無-②
について実際に使ってみます。

#用意されている関数-返り値無-引数必要
たとえばこちら
処理内容:コンソールに出力する
関数:Debug.Log(引数);
この関数は今までさんざんつかってきたのでおなじみですね。
詳しい使い方はこちらで解説しています。
https://qiita.com/Maru60014236/items/9f0e64b46f0ca61f3c0d

#用意されている関数-返り値無-引数無-①
今回使う関数はこちら
処理内容:エディタを一時停止する
関数:Debug.Break();

引数はないのでカッコの中には何も書きません。
スタート関数にいれて実行してみましょう。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class test : MonoBehaviour
{
    //スタート関数
    void Start()
    {
        Debug.Break();//エディタを一時停止する
    } 
}

 
実行すると一時停止ボタンが有効になります。
image.png
一時停止したいタイミングで使うと便利そうですね。

#用意されている関数-返り値無-引数無-②
こちらは特定の関数内で書く関数です。

今回使う関数はこちら
処理内容:コルーチンを途中で抜ける
関数:yield break;
何の関数の中で使う?:コルーチン関数

####コルーチン関数をさくっと説明
コルーチン関数は中断処理を行う関数です。
IEnumerator型の関数内で処理を中断することができ、
IEnumerator型の関数はStartCoroutine()関数の引数にすることにより使用できます。

わーわー言うておりますが、とりあえずこんな感じで書きます。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class test : MonoBehaviour
{

    //スタート関数
    void Start()
    {
        StartCoroutine("kansuu0");//引数を"kansuu0"とすることでkansuu0を呼び出し
    }


    IEnumerator kansuu0()//IEnumerator型の関数
    {
        //処理内容 コルーチン関数の中でしか使えない関数がある。
    }
}

そして、

IEnumerator kansuu0()
    {
        //処理内容 コルーチン関数の中でしか使えない関数がある。
    }

この関数内でしか使えない関数が、先程ご紹介した
yield break;
というわけです!

では、実際に使ってみましょう。
kansuu0の関数の中を次のようにしました。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class test : MonoBehaviour
{

    //スタート関数
    void Start()
    {
        StartCoroutine("kansuu0");//引数を"kansuu0"とすることでkansuu0を呼び出し
    }


    IEnumerator kansuu0()//IEnumerator型の関数
    {
        Debug.Log("あ");//コンソールに あ と表示
        Debug.Log("い");//コンソールに い と表示
        Debug.Log("う");//コンソールに う と表示
        Debug.Log("え");//コンソールに え と表示
        yield break;//関数ここで終了
        Debug.Log("お");//コンソールに お と表示
    }
}

実行結果はどうなるでしょうか??
 
 
 
 
結果
image.png
yield break;の行で関数が終了し
Debug.Log("お");
は処理されませんでした。

ということで、特定の関数内でしか使えない関数があるということを覚えておきましょう。

#おわりに
これまで、関数の概要説明からそれぞれの関数の具体例を説明してきました。
ひとことで関数といっても使い方が様々であったかと思います。
この記事を通して少しでも関数への理解が深まったのなら幸いです。

わかりにくい点などコメントしていただけると嬉しいです。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?