0
0

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 5 years have passed since last update.

[Unity]Coroutineでカウントダウンを作ってみた

Last updated at Posted at 2019-10-15

はじめに

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;

    }

}
0
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?