2015年9月9日水曜日

unity2d:キャラクターを瞬きさせるサンプル

2dキャラクターの瞬きを実装するには、一定秒数間隔で動作するコルーチンを使用します。
以下の方法を使えば一定時間置きに動作させられます。

    void 瞬き開始() {
        //ループコルーチン
        StartCoroutine(loop());
    }
    private bool FLML=true;//終了フラグ
    private float fme=5f,MABATAKI=10f;//10秒間隔で瞬き
    private IEnumerator loop() {
        // ループ n秒間隔

        FLML = true;
        while (FLML) {
            yield return new WaitForSeconds(fme);
            onTimer();
        }
    }
    private bool FLM=true;
    private void onTimer() {
        if (FLM) {
            目を閉じる
            FLM =false;
            fme=0.2f;//閉じている時間は短く
        } else {
            目を開ける
            FLM =true;
            fme=MABATAKI;
        }
    }


キーワード。コルーチン、タイマー

private bool FLM=true;が抜けていたので修正しました。

0 件のコメント:

コメントを投稿