【Unity入門】Invokeを使って数秒後に関数を呼び出す
この記事の目次
Invokeとは
Invokeとは数秒後に関数を呼び出すためのものです。
Invokeは
Invoke(“関数名”, 秒数); |
と記述します。
実際に使ってみる
準備
それでは、実際にInvokeを使ってみましょう。
まずは、以前作成した、『Unity Basics』というプロジェクトを開いてください。
『Unity Basics』を開いたら、Invokeを使うシーンを作っていきましょう。
Scenesフォルダの中に作成します。
ProjectウィンドウでScenesフォルダを選択しましょう。
選択した状態で『+』ボタンを押しましょう。
色々と出てくるので、『Scene』をクリックしましょう。
すると、Scenesフォルダの中に新しくSceneが作成されます。
Sceneの名前を『Invoke』に変更しておきましょう。
今回はInvokeの中でやっていきたいので、Sceneを移動します。
Invokeをダブルクリックしましょう。
すると、Sceceを移動することができます。
Hierarchyウィンドウを見ると、現在のSceneが『Invoke』に変わっていますね。
次に、Invokeを作るためのスクリプトを作成しましょう。
ProjectウィンドウでScriptsフォルダを選択してください。
選択した状態で『+』ボタンを押しましょう。
色々と出てくるので、『C# Script』を押します。
すると、新しくスクリプトが作成されます。
名前が確定する前に『InvokeScript』と変更しましょう。
スクリプトを作成したら、適当なオブジェクトに追加します。
今回は、InvokeScriptをMain Cameraにドラッグ&ドロップしましょう。
すると、Main CameraにInvokeScriptが追加されます。
Invokeを使ってみる
それでは、Invokeを使ってみましょう。
InvokeScriptをダブルクリックしてください。
すると、スクリプトを編集できるようになります。
今回はゲームがスタートして、3秒経過したら、『こんにちは』とコンソールに出力されるようにしていきましょう。
まずはInvokeで呼び出すための関数を作りましょう。
Update関数の下に
void Hello(){ Debug.Log(“こんにちは”);} |
と記述しましょう。
このコードは、呼び出されると『こんにちは』とコンソールに出力する
Helloという名前の関数を定義しています。
次に、この関数をゲームスタートから三秒後に呼び出されるようにしてみましょう。
Start関数の中に
Invoke(“Hello”, 3); |
と記述しましょう。
コードについて説明しておきます。
まず、Invokeというのは、
第一引数で指定した関数を数秒後に呼び出す関数です。
関数を指定するときは、関数の名前を『” ”』で囲って文字列で指定します。
今回はHelloという関数を呼び出したいので、『”Hello”』と記述しました。
何秒後に呼び出すかは第二引数が決めます。
今回は三秒後にHelloを呼び出したいので、『3』と記述しました。
この状態で再生すると、ゲームスタートから三秒後にコンソールに『こんにちは』と表示されるはずです。
実際にそのようになるのか、再生して確かめてみましょう。
スクリプトを保存して、Unityエディタに戻り、再生ボタンを押しましょう。
すると、予想通りゲームスタートから三秒後に、コンソールに『こんにちは』と表示されますね。
このように、Invokeを使えば、数秒後に関数を呼び出すことができます。