unity2d:co-routine
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
unity2d:co-routine [2024/01/12 02:03] – [概要] yajuadmin | unity2d:co-routine [2024/01/12 02:13] (現在) – [C#スクリプト作成] yajuadmin | ||
---|---|---|---|
行 23: | 行 23: | ||
内部的には、オブジェクト指向のイテレータとなるため「IEnumerator」を使う。この機能により状態変数を減らせることが出来て便利です。 | 内部的には、オブジェクト指向のイテレータとなるため「IEnumerator」を使う。この機能により状態変数を減らせることが出来て便利です。 | ||
- | {{: | + | {{http:// |
- | + | ||
==== 参考 ==== | ==== 参考 ==== | ||
* [[http:// | * [[http:// | ||
* [[https:// | * [[https:// | ||
- | * [[http:// | + | * [[http:// |
===== コルーチンの準備 ===== | ===== コルーチンの準備 ===== | ||
==== シーンの読み込み ==== | ==== シーンの読み込み ==== | ||
- | UnityChan2Dのプロジェクトを使用して、コルーチンの動きを確認してみましょう。\\ | + | UnityChan2Dのプロジェクトを使用して、コルーチンの動きを確認してみましょう。\\ |
UnityChan2D→Assets→Scenesにある「Introduction Demo」をクリックして、シーンの読み込みを行ってください。 | UnityChan2D→Assets→Scenesにある「Introduction Demo」をクリックして、シーンの読み込みを行ってください。 | ||
| | ||
- | ![プロジェクト1](http:// | + | {{http:// |
- | ![シーン1](http:// | + | {{http:// |
==== 弾としてコインのスプライトを生成 ==== | ==== 弾としてコインのスプライトを生成 ==== | ||
行 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:// | + | {{http:// |
- | ![インスペクター1](http:// | + | {{http:// |
- | ![スプライトエディタ1](http:// | + | {{http:// |
==== 弾であるコインの設定 ==== | ==== 弾であるコインの設定 ==== | ||
行 54: | 行 52: | ||
また、Circle Collider 2Dを追加します。 | また、Circle Collider 2Dを追加します。 | ||
- | ![シーン2](http:// | + | {{http:// |
- | ![インスペクター2](http:// | + | {{http:// |
- | ![コライダー1](http:// | + | {{http:// |
==== C# | ==== C# | ||
行 74: | 行 72: | ||
if (other.tag == " | if (other.tag == " | ||
| | ||
- | | + | |
| | ||
| | ||
行 80: | 行 78: | ||
void OnBecameInvisible() { | void OnBecameInvisible() { | ||
- | Destroy(this.gameObject); | + | Destroy(this.gameObject); |
} | } | ||
} | } | ||
行 112: | 行 110: | ||
==== Coinの発射 ==== | ==== Coinの発射 ==== | ||
左クリックでコインが3連射されるようにプログラムを変更します。\\ | 左クリックでコインが3連射されるようにプログラムを変更します。\\ | ||
- | ![シーン3](http:// | + | {{http:// |
Assets/ | Assets/ | ||
行 125: | 行 123: | ||
bool jump = Input.GetButtonDown(" | bool jump = Input.GetButtonDown(" | ||
Move(x, jump); | Move(x, jump); | ||
- | // | + | // 左クリックでコイン発射 |
if (Input.GetButtonDown(" | if (Input.GetButtonDown(" | ||
- | StartCoroutine(“Shot”); | + | StartCoroutine(“Shot”); |
} | } | ||
} | } | ||
行 134: | 行 132: | ||
if (isRunning) { yield break; } | if (isRunning) { yield break; } | ||
| | ||
- | // | + | // コインを3連射する |
| | ||
| | ||
| | ||
- | yield return new WaitForSeconds(1f); | + | yield return new WaitForSeconds(1f); |
} | } | ||
isRunning = false; | isRunning = false; |
unity2d/co-routine.1704992639.txt.gz · 最終更新: 2024/01/12 02:03 by yajuadmin