敵を動かす②(敵の発生装置)
![32145368 bef8 426e 938a 85a09d060e07](https://codegenius.org/uploads/slide/image/4828/32145368-bef8-426e-938a-85a09d060e07.jpeg)
![42b6ca0d 10b8 4585 8aa1 3a85018ee7a4](https://codegenius.org/uploads/slide/image/4829/42b6ca0d-10b8-4585-8aa1-3a85018ee7a4.jpeg)
![84099b4e bd3e 42c7 9757 450f46197de0](https://codegenius.org/uploads/slide/image/4830/84099b4e-bd3e-42c7-9757-450f46197de0.jpeg)
敵の製造装置(コルーチンの活用)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class EnemyGene : MonoBehaviour
{
public GameObject enemyPrefab;
public float speed;
private void Start()
{
StartCoroutine(GeneEnemy());
}
// (ポイント)コルーチン
IEnumerator GeneEnemy()
{
// 何回繰り返すかは自由に設定
for(int j = 0; j < 10; j++)
{
for (int i = 0; i < 5; i++)
{
GameObject enemey = Instantiate(enemyPrefab, transform.position, Quaternion.Euler(90, 0, 0));
Rigidbody enemyRb = enemey.GetComponent<Rigidbody>();
enemyRb.AddForce(transform.forward * speed);
Destroy(enemey, 10f);
// 0.2秒ごとに動作を繰り返す(自由に変更可能)
yield return new WaitForSeconds(0.2f);
}
// 3秒ごとに動作を繰り返す(自由に変更可能)
yield return new WaitForSeconds(3f);
}
}
}
![E91ef595 45c5 4ec2 93d5 b9c2550d5466](https://codegenius.org/uploads/slide/image/4831/e91ef595-45c5-4ec2-93d5-b9c2550d5466.jpeg)
![287ef840 a7f0 410e 919c b56ecda5b10c](https://codegenius.org/uploads/slide/image/4832/287ef840-a7f0-410e-919c-b56ecda5b10c.jpeg)
![B30d3067 9e5d 4789 bd48 07dbcf0020f4](https://codegenius.org/uploads/slide/image/4833/b30d3067-9e5d-4789-bd48-07dbcf0020f4.jpeg)
![Aadd839a cacc 48c0 a056 91469aea0c37](https://codegenius.org/uploads/slide/image/4834/aadd839a-cacc-48c0-a056-91469aea0c37.jpeg)
![D86800e8 e96d 48d5 91e8 c9c51d21b1b8](https://codegenius.org/uploads/slide/image/4835/d86800e8-e96d-48d5-91e8-c9c51d21b1b8.jpeg)
【2019版】Danmaku Ⅱ(基礎2/全38回)
他のコースを見る![32145368 bef8 426e 938a 85a09d060e07](https://codegenius.org/uploads/slide/image/4828/32145368-bef8-426e-938a-85a09d060e07.jpeg)
![42b6ca0d 10b8 4585 8aa1 3a85018ee7a4](https://codegenius.org/uploads/slide/image/4829/42b6ca0d-10b8-4585-8aa1-3a85018ee7a4.jpeg)
![84099b4e bd3e 42c7 9757 450f46197de0](https://codegenius.org/uploads/slide/image/4830/84099b4e-bd3e-42c7-9757-450f46197de0.jpeg)
敵の製造装置(コルーチンの活用)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class EnemyGene : MonoBehaviour
{
public GameObject enemyPrefab;
public float speed;
private void Start()
{
StartCoroutine(GeneEnemy());
}
// (ポイント)コルーチン
IEnumerator GeneEnemy()
{
// 何回繰り返すかは自由に設定
for(int j = 0; j < 10; j++)
{
for (int i = 0; i < 5; i++)
{
GameObject enemey = Instantiate(enemyPrefab, transform.position, Quaternion.Euler(90, 0, 0));
Rigidbody enemyRb = enemey.GetComponent<Rigidbody>();
enemyRb.AddForce(transform.forward * speed);
Destroy(enemey, 10f);
// 0.2秒ごとに動作を繰り返す(自由に変更可能)
yield return new WaitForSeconds(0.2f);
}
// 3秒ごとに動作を繰り返す(自由に変更可能)
yield return new WaitForSeconds(3f);
}
}
}
![E91ef595 45c5 4ec2 93d5 b9c2550d5466](https://codegenius.org/uploads/slide/image/4831/e91ef595-45c5-4ec2-93d5-b9c2550d5466.jpeg)
![287ef840 a7f0 410e 919c b56ecda5b10c](https://codegenius.org/uploads/slide/image/4832/287ef840-a7f0-410e-919c-b56ecda5b10c.jpeg)
![B30d3067 9e5d 4789 bd48 07dbcf0020f4](https://codegenius.org/uploads/slide/image/4833/b30d3067-9e5d-4789-bd48-07dbcf0020f4.jpeg)
![Aadd839a cacc 48c0 a056 91469aea0c37](https://codegenius.org/uploads/slide/image/4834/aadd839a-cacc-48c0-a056-91469aea0c37.jpeg)
![D86800e8 e96d 48d5 91e8 c9c51d21b1b8](https://codegenius.org/uploads/slide/image/4835/d86800e8-e96d-48d5-91e8-c9c51d21b1b8.jpeg)
敵を動かす②(敵の発生装置)