はじめに
Unityの基本的な文法を学んで、それを使ったサンプルを作っています。
Unity公式チュートリアルのScriptingのIntermediate Gameplay Scripting(https://unity3d.com/jp/learn/tutorials/s/scripting)
から選んで学んでいます。今回は14のコルーチンを選びました。
開発環境
Unity2018.3
コールチンとは
処理を一旦中断した後、同じところから再開して出来る処理
基本的な文法
yield~ で一旦中断する。
Test
public class Test : MonoBehaviour {
void Start () {
StartCoroutine ("Sample");// コルーチンを実行
}
// コルーチン
private IEnumerator Sample() {
yield return new WaitForSeconds (?f);//?秒待つ
yield return null;//1フレーム待つ
yield break;//コールチンの途中でも強制終了
}
}
コルーチン をつかってサンプル作成した
作ったもの
カウントダウンマシン
- スタートボタンを押したら5秒からカウントダウンスタート
- ストップボタンを押したらカウントダウンが一時停止
- startボタンは一度押したらカウントダウン終了まで押せない
コード
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class CountDownScript : MonoBehaviour
{
public Text countDownText;
public Button startButton;
public void StartButton()
{
StartCoroutine("CountDown");
startButton.enabled = false;
}
public void StopButton()
{
StopCoroutine("CountDown");
}
IEnumerator CountDown()
{
for (int i = 5; i > -1; i--)
{
yield return new WaitForSeconds(1);//1秒待つ
countDownText.text = i.ToString();
}
startButton.enabled = true;
yield break;
}
}