ユーザ用ツール

サイト用ツール


unity2d:co-routine

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
unity2d:co-routine [2024/01/12 02:03] – [概要] yajuadminunity2d:co-routine [2024/01/12 02:13] (現在) – [C#スクリプト作成] yajuadmin
行 23: 行 23:
 内部的には、オブジェクト指向のイテレータとなるため「IEnumerator」を使う。この機能により状態変数を減らせることが出来て便利です。   内部的には、オブジェクト指向のイテレータとなるため「IEnumerator」を使う。この機能により状態変数を減らせることが出来て便利です。  
  
-{{:コルーチンスライド:http://yaju.sakura.ne.jp/wiki/images/unity10/co-routine.png|}} +{{http://yaju.sakura.ne.jp/wiki/images/unity10/co-routine.png|}}
- +
  
 ==== 参考 ==== ==== 参考 ====
   * [[http://www.slideshare.net/lucifuges/unityc|Unityで覚えるC# SlideShare]]   * [[http://www.slideshare.net/lucifuges/unityc|Unityで覚えるC# SlideShare]]
   * [[https://web.archive.org/web/20130522010427/http:/www44.atwiki.jp/pioswiki/pages/33.html|マイクロスレッド]]    * [[https://web.archive.org/web/20130522010427/http:/www44.atwiki.jp/pioswiki/pages/33.html|マイクロスレッド]] 
-  * [[http://blogs.wankuma.com/yaju/archive/2012/12/24/310310.aspx|[VB]遅れてやってきたYield その5]]]+  * [[http://blogs.wankuma.com/yaju/archive/2012/12/24/310310.aspx|[VB]遅れてやってきたYield その5]]
  
 ===== コルーチンの準備 ===== ===== コルーチンの準備 =====
 ==== シーンの読み込み ==== ==== シーンの読み込み ====
-UnityChan2Dのプロジェクトを使用して、コルーチンの動きを確認してみましょう。\\  +UnityChan2Dのプロジェクトを使用して、コルーチンの動きを確認してみましょう。\\
 UnityChan2D→Assets→Scenesにある「Introduction Demo」をクリックして、シーンの読み込みを行ってください。    UnityChan2D→Assets→Scenesにある「Introduction Demo」をクリックして、シーンの読み込みを行ってください。   
              
-![プロジェクト1](http://yaju.sakura.ne.jp/wiki/images/unity10/co-routine2.png)  +{{http://yaju.sakura.ne.jp/wiki/images/unity10/co-routine2.png|}} 
-![シーン1](http://yaju.sakura.ne.jp/wiki/images/unity10/co-routine3.png)+{{http://yaju.sakura.ne.jp/wiki/images/unity10/co-routine3.png|}}
  
 ==== 弾としてコインのスプライトを生成 ==== ==== 弾としてコインのスプライトを生成 ====
行 45: 行 43:
 Sprite Editorにて「Type」をGridに変更、「Size」をX 16 Y 16で「Slice」ボタンを押下後、Applyします。 Sprite Editorにて「Type」をGridに変更、「Size」をX 16 Y 16で「Slice」ボタンを押下後、Applyします。
  
-![スプライト1](http://yaju.sakura.ne.jp/wiki/images/unity10/co-routine4.png)  +{{http://yaju.sakura.ne.jp/wiki/images/unity10/co-routine4.png|}}  
-![インスペクター1](http://yaju.sakura.ne.jp/wiki/images/unity10/co-routine5.png) +{{http://yaju.sakura.ne.jp/wiki/images/unity10/co-routine5.png|}} 
-![スプライトエディタ1](http://yaju.sakura.ne.jp/wiki/images/unity10/co-routine6.png)+{{http://yaju.sakura.ne.jp/wiki/images/unity10/co-routine6.png|}}
  
 ==== 弾であるコインの設定 ==== ==== 弾であるコインの設定 ====
行 54: 行 52:
 また、Circle Collider 2Dを追加します。   また、Circle Collider 2Dを追加します。  
  
-![シーン2](http://yaju.sakura.ne.jp/wiki/images/unity10/co-routine7.png)  +{{http://yaju.sakura.ne.jp/wiki/images/unity10/co-routine7.png|}}  
-![インスペクター2](http://yaju.sakura.ne.jp/wiki/images/unity10/co-routine8.png)   +{{http://yaju.sakura.ne.jp/wiki/images/unity10/co-routine8.png|}}  
-![コライダー1](http://yaju.sakura.ne.jp/wiki/images/unity10/co-routine9.png)+{{http://yaju.sakura.ne.jp/wiki/images/unity10/co-routine9.png|}} 
  
 ==== C#スクリプト作成 ==== ==== C#スクリプト作成 ====
行 74: 行 72:
         if (other.tag == "DamageObject") {         if (other.tag == "DamageObject") {
                if(++count >= 6)                if(++count >= 6)
-                 Destroy(other.gameObject); //コインが6発当たれば敵を削除+                 Destroy(other.gameObject); // コインが6発当たれば敵を削除
                Destroy(this.gameObject);                Destroy(this.gameObject);
           }           }
行 80: 行 78:
  
     void OnBecameInvisible() {     void OnBecameInvisible() {
-        Destroy(this.gameObject); //カメラから外れたら削除+        Destroy(this.gameObject); // カメラから外れたら削除
     }     }
 } }
行 112: 行 110:
 ==== Coinの発射 ==== ==== Coinの発射 ====
 左クリックでコインが3連射されるようにプログラムを変更します。\\  左クリックでコインが3連射されるようにプログラムを変更します。\\ 
-![シーン3](http://yaju.sakura.ne.jp/wiki/images/unity10/co-routine10.png)+{{http://yaju.sakura.ne.jp/wiki/images/unity10/co-routine10.png|}}
  
 Assets/ScriptsにC# スクリプトの「UnityChan2DController」を編集します。 Assets/ScriptsにC# スクリプトの「UnityChan2DController」を編集します。
行 125: 行 123:
         bool jump = Input.GetButtonDown("Jump");         bool jump = Input.GetButtonDown("Jump");
         Move(x, jump);          Move(x, jump);
-        //左クリックでコイン発射+        // 左クリックでコイン発射
         if (Input.GetButtonDown("Fire1"))         if (Input.GetButtonDown("Fire1"))
-            StartCoroutine(“Shot”); //コルーチンを呼びます+            StartCoroutine(“Shot”); // コルーチンを呼びます
  }  }
      }      }
行 134: 行 132:
          if (isRunning) { yield break; }          if (isRunning) { yield break; }
          isRunning = true;          isRunning = true;
-         //コインを3連射する+         // コインを3連射する
          for(int i = 0; i<3; i++)  {          for(int i = 0; i<3; i++)  {
              Instantiate(Coin, new Vector2(transform.position.x + 0.5f,               Instantiate(Coin, new Vector2(transform.position.x + 0.5f, 
             transform.position.y - 0.5f), Quaternion.identity);             transform.position.y - 0.5f), Quaternion.identity);
-             yield return new WaitForSeconds(1f); //1秒待機+             yield return new WaitForSeconds(1f); // 1秒待機
         }         }
         isRunning = false;         isRunning = false;
unity2d/co-routine.1704992639.txt.gz · 最終更新: 2024/01/12 02:03 by yajuadmin