/// <summary> /// 弾を発射する関数 /// </summary> /// <param name="angleBase"></param> /// <param name="angleRange"></param> /// <param name="speed"></param> /// <param name="count"></param> private void ShootNWay(float angleBase, float angleRange, float speed, int count) { // var pos = transform.position + transform.forward; // プレイヤーの位置 var pos = canonPos.position; var rot = transform.rotation; // プレイヤーの向き // 弾を複数発射する場合 if (1 < count) { // 発射する回数分ループする for (int i = 0; i < count; ++i) { // 弾の発射角度を計算する var angle = angleBase + angleRange * ((float)i / (count - 1) - 0.5f); // 発射する弾を生成する var shot = EnemyShot.Add(this.gameObject.tag, pos.x, pos.y, pos.z, player); // 弾を発射する方向と速さを設定する shot.Init(angle, speed, gm); } } // 弾を 1 つだけ発射する場合 else if (count == 1) { // 発射する弾を生成する var shot = EnemyShot.Add(this.gameObject.tag, pos.x, pos.y, pos.z, player); // 弾を発射する方向と速さを設定する shot.Init(angleBase, speed, gm); shot.StartShotEffect(); } }