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


環境

Unity 2019.3.7f1

はじめに

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

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

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

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

今回は、
1.用意されている関数-返り値有-引数必要
2.用意されている関数-返り値有-引数不要
について実際に使ってみます。

用意されている関数-返り値有-引数必要

今回使う関数はこちら
処理内容:名前指定でシーンを取得
関数:SceneManager.GetSceneByName(“引数(存在しているシーンの名前)“);
返り値の型:Scene

返り値がある場合のポイント

"返り値がある"ということはその値を入れる変数が必要となります。
返り値と同じ型の変数を宣言しておきましょう。

今回の関数の返り値の型は Scene なので変数の宣言は、このように書いておきます。

private Scene a;//Scene型の変数aを宣言

 
あとはこの変数に
SceneManager.GetSceneByName(“引数(存在しているシーンの名前)“)
の関数を代入するだけです。
引数の部分はプロジェクト新規作成時に勝手に作られているSampleSceneにします。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;//シーンマネージャーを使う時は追加

public class test : MonoBehaviour
{
    private Scene a;//Scene型の変数aを宣言

    //スタート関数
    void Start()
    {
        a= SceneManager.GetSceneByName("SampleScene");//シーン名SampleSceneのシーンを取得し、変数aに代入
        Debug.Log(a);//変数の中身をコンソールに表示        
    }
}

※追加
Debug.Log関数:aの中身をコンソールに表示します。
using UnityEngine.SceneManagement; :シーンマネージャーを使用するときは必要です。

実行すると、aの中にはシーンが入っていることがわかります。

無事この関数を使うことができました!

ちなみに

シーン名を取得するには
取得したシーンが入っている変数.name
で取得できます。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;//シーンマネージャーを使う時は追加

public class test : MonoBehaviour
{
    private Scene a;//Scene型の変数aを宣言
    private string b;//string型の変数bを宣言

    //スタート関数
    void Start()
    {
        a= SceneManager.GetSceneByName("SampleScene");//シーン名SampleSceneのシーンを変数aに代入
        Debug.Log(a);//変数の中身をコンソールに表示
        b = a.name;//aのシーンの名前を取得し変数bへ代入
        Debug.Log(b);//bの中身をコンソールに表示
    }
}

 
変数bに取得したシーンの名前が入りました!

用意されている関数-返り値有-引数不要

使う関数はこちら
処理内容:スクリーンの高さの取得
関数:Screen.height;
返り値の型:int

返り値の型は Scene なので変数の宣言は、このように書いておきます。

    private int a;//int型の変数aを宣言

あとはこの変数にScreen.height;を代入するだけでスクリーン高さが取得できてしまいます!

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

public class test : MonoBehaviour
{
    private int a;//int型の変数aを宣言
            //スタート関数
    void Start()
    {
        a= Screen.height;//スクリーンの高さの取得を行い、その返り値を変数aに代入
        Debug.Log(a);//変数の中身をコンソールに表示       
    }
}

※追加
Debug.Log関数:aの中身をコンソールに表示します。

実行すると変数aの中にスクリーン高さが取得されていることがわかります。

おわりに

返り値のある関数は変数に入れて使う!
 
次回はイベント関数を説明します!