###前提・実現したいこと
Unityで横スクロールシューティングを作っています
spaceキーで弾を発射し、3秒間spaceキーを入力しても油弾は発射されないように実装したいです
###発生している問題・エラーメッセージ
特になし
###該当のソースコード
using System.Collections; using System.Collections.Generic; using UnityEngine; public class PlayerManeger : MonoBehaviour { public GameObject bulletPrefab; // Use this for initialization void Start () { StartCoroutine("ReturnBullet"); } // Update is called once per frame void Update() { Vector3 add_pos = Vector3.zero; Vector3 add_angle = Vector3.zero; float move_speed = 5.0f;//移動速度 // ←キー if (Input.GetKey(KeyCode.LeftArrow)) { add_pos.x = -move_speed; } // →キー else if (Input.GetKey(KeyCode.RightArrow)) { add_pos.x = move_speed; } // ↑キー if (Input.GetKey(KeyCode.UpArrow)) { add_pos.y = move_speed; } // ↓キー else if (Input.GetKey(KeyCode.DownArrow)) { add_pos.y = -move_speed; } //if (Input.GetKeyDown(KeyCode.Space)) //{ // Instantiate(bulletPrefab, transform.position, Quaternion.identity); //} add_pos *= Time.deltaTime; add_angle *= Time.deltaTime; transform.Translate(add_pos); transform.Rotate(add_angle); } IEnumerator ReturnBullet() { while (true) { if (Input.GetKeyDown(KeyCode.Space)) { Instantiate(bulletPrefab, transform.position, Quaternion.identity); } // 3秒待つ yield return new WaitForSeconds(3.0f); } } void OnTriggerEnter2D(Collider2D collenemy) { if (collenemy.gameObject.tag == "Enemy") { Application.LoadLevel("GameOver"); } } }
###試したこと
コルーチンで実装できるのでは?とやってみたがうまくいかない
###補足情報(言語/FW/ツール等のバージョンなど)
C# Unity 5.52f1
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/11/09 05:16
2017/11/09 05:20