ユニティC#のコルーチンディスカッション

コルーチン:名前が示すメインプログラムの実施を支援するために、処理ロジックの別のセクションを開いて、メインプログラムが実行されていると同時に、私は関数を呼び出す遅らせるためにコルーチンを使用し、ほとんどの場合、実行されるロジック・ブロックは、裁判官を循環されていますコルーチンの欠点があったときに、これらの2つの条件は、常に記録し、今の情報を確認し、終了関数の前に考えてください。

1、スタート:(関数呼び出しの後に5秒の実装プロセスの背後にあるテキスト・ロジックを印刷するための「スタート」や待機を印刷する共同書き込み。)

	IEnumerator Test()
    {
        Debug.Log("开始");
        yield return new WaitForSeconds(5f);
        Debug.Log("已经开始了 5s 了");
    }

2、コルーチン呼び出して
直接、文字列を呼び出すために使用することができますメソッド名を埋めることができ呼び出しコルーチンを、文字列は、メソッド名と協会は一貫処理することを提供しなければなりません。
(方法)パラメータは直接関数の名前を記入します

    private void Start()
    {
        StartCoroutine(Test());
    }

(方法B)文字列Ctripのと呼ばれるパラメータとして

	private void Start()
    {
        StartCoroutine("Test");
    }

図3は、コルーチンを終了します
(メソッド)を開いコルーチン場合は、コルーチンファンクション文字列の呼び出しを使用して、あなたはコルーチンの実行を終了することができますので。
注:このメソッドは、唯一のオープンコルーチンのコルーチンのパラメータとして文字列で終了することができます!

 	/// <summary>
    /// 终止一个以字符串为参数调起的协程
    /// </summary>
    void Stop()
    {
    	//用字符串代替函数名终止协程
        StopCoroutine("Test");
    }

(方法II)あなたはコルーチンから呼び出された関数にパラメータを調整し、StopCoroutineパラメータのオーバーロード充填は、関数名にすることができますがあります。
注:コルーチンはコルーチンを終了という名前の関数のパラメータ、私は繰り返しません仕事をテストしている、インターネットは、これは欠点のコルーチンであると述べています。

  	/// <summary>
    /// 终止一个协程
    /// </summary>
    void Stop()
    {
        //以协程的函数名为参数终止该协程,
        //注意:该方式在我这里始终不能实现,且用且珍重
        StopCoroutine(Test());
    }

(方法3つ)あなたはとてもデバッグが便利ではないの後に感じる、Ctripのを呼び出すためのパラメータとして文字列を使用しない場合は、次のように、あなたは、達成するためのコルーチンパスパラメータを記録しコルーチンを開始することができます。

	//用来记录协程的
	Coroutine mCoroutine = null;
	
    void Start()
    {
    	//开启协程时记录下来
        mCoroutine= StartCoroutine(Test());
    }
    /// <summary>
    /// 终止一个协程
    /// </summary>
    void Stop()
    {
    	//以Coroutine为参数终止协程
        StopCoroutine(mCoroutine);
    }
公開された14元の記事 ウォンの賞賛0 ビュー408

おすすめ

転載: blog.csdn.net/a0_67/article/details/105394070
おすすめ