EnemyManager
private float SPEED = 0.01f; // 移動速度 private int count = 0; private GameObject explosionClone; [SerializeField] GameObject explosion; // Start is called before the first frame update void Start() { } // Update is called once per frame void Update() { Vector2 position = transform.position; count += 1; if (count < 500) { position.x += SPEED; } else if (count > 500) { position.x -= SPEED; } if (count == 1000) { count = 0; } transform.position = position; } void OnTriggerEnter2D(Collider2D col) { if (col.gameObject.CompareTag("Bullet")) { Debug.Log("BulletCollision"); Vector3 pos = transform.position; Quaternion rot = transform.rotation; Instantiate(explosion, pos, rot); explosionClone = GameObject.Find("FX001_01(Clone)"); Destroy(explosionClone, 0.1f); Destroy(this.gameObject); } }
PlayerControl
private float SPEED = 0.01f; // 移動速度 private float JUMP = 2.0f; // ジャンプの高さ private int ground = 0; // 接地判定 private AudioSource audioSource; public int direction = 1; // 方向 [SerializeField] GameObject gameOverText; [SerializeField] GameObject bullet; [SerializeField] AudioClip jumpSE; // Start is called before the first frame update void Start() { audioSource = GetComponent<AudioSource>(); } // Update is called once per frame void Update() { // キャラクター操作 Vector2 position = transform.position; if (Input.GetKey(KeyCode.RightArrow)) { position.x += SPEED; direction = 1; transform.localScale = new Vector2(4, 4); } if (Input.GetKey(KeyCode.LeftArrow)) { position.x -= SPEED; direction = -1; transform.localScale = new Vector2(-4, 4); } if (Input.GetKeyDown(KeyCode.LeftControl)) { if (ground == 0) { Debug.Log("Jump"); position.y += JUMP; if (!audioSource.isPlaying) { audioSource.PlayOneShot(jumpSE); } } } if (Input.GetKeyDown(KeyCode.Space)) { Instantiate(bullet, transform.position, transform.rotation); Debug.Log("shot"); } transform.position = position; } // トラップ接触判定 void OnTriggerEnter2D(Collider2D col) { if (col.tag == "Trap" || col.tag == "Enemy") { GameOver(); } } // 接地判定 void OnTriggerStay2D(Collider2D col) { if (col.tag == "Ground") { ground = 0; } } // ジャンプ判定 void OnTriggerExit2D(Collider2D col) { if (col.tag == "Ground") { ground = 1; } } // GameOver処理 void GameOver() { gameOverText.SetActive(true); this.gameObject.SetActive(false); Debug.Log("GameOver"); }