¡¡Àè¤Û¤É¤Î¡Ú£²¡Û¤Î½èÍý¤ò±þÍѤ·¡¢»ØÄê»þ´Ö¤´¤È¤Ë¥¨¥Õ¥§¥¯¥È¤òÀ¸À®¤¹¤ëµ¡Ç½¤ò¼ÂÁõ¤·¤Þ¤¹¡£
¡¡¤³¤³¤Ç¤Ï²Ö²Ð¤Î¥¨¥Õ¥§¥¯¥È¤òÀ¸À®¤¹¤ë¥¤¥á¡¼¥¸¤Ç¡¢À¸À®¤µ¤ì¤ë°ÌÃ֤˥é¥ó¥À¥àÀ¤òÀߤ±¤Æ¡¢Æ±¤¸°ÌÃ֤˲ֲФ¬¾å¤¬¤é¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹¡£
using UnityEngine;
using System.Collections;
public class FireworksController : MonoBehaviour
{
[SerializeField]
private GameObject fireworksPrefab;
[SerializeField]
private int numberOfFireworks = 10; // À¸À®¤¹¤ë²Ö²Ð¤Î¿ô
[SerializeField]
private float spawnInterval = 5.0f;
[SerializeField]
private float minOffset = -1.0f; // ¥é¥ó¥À¥à¤Ê°ÌÃ֤κǾ®¥ª¥Õ¥»¥Ã¥È
[SerializeField]
private float maxOffset = 1.0f; // ¥é¥ó¥À¥à¤Ê°ÌÃ֤κÇÂ祪¥Õ¥»¥Ã¥È
void Start()
{
StartCoroutine(SpawnFireworks());
}
IEnumerator SpawnFireworks()
{
int fireworksCount = 0; // ¥í¡¼¥«¥ëÊÑ¿ô¤È¤·¤Æ fireworksCount ¤òÄêµÁ
while (fireworksCount < numberOfFireworks)
{
Vector3 spawnPosition = transform.position + new Vector3(Random.Range(minOffset, maxOffset), 0f, Random.Range(minOffset, maxOffset));
Instantiate(fireworksPrefab, spawnPosition, Quaternion.identity);
fireworksCount++;
yield return new WaitForSeconds(spawnInterval);
}
}
}
¡¡ÇÛÎó¤òÍøÍѤ¹¤ë¤³¤È¤Ë¤è¤ê¡¢²Ö²Ð¤Î¼ïÎà¤ò¥é¥ó¥À¥à¤ËÊѲ½¤µ¤»¤ë¤è¤¦¤Ë½¤Àµ¤·¤Æ¤ß¤Þ¤·¤ç¤¦¡£
¥¨¥Õ¥§¥¯¥È¤ò¥é¥ó¥À¥à¤ËÊѹ¹¤¹¤ë¤¿¤á¤Ë¡¢¥¨¥Õ¥§¥¯¥È¤Î¥×¥ì¥Ï¥Ö¤òÇÛÎó¤Ë³ÊǼ¤·¡¢¥é¥ó¥À¥à¤Ê¥¤¥ó¥Ç¥Ã¥¯¥¹¤òÁªÂò¤·¤ÆÀ¸À®¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¡¡°Ê²¼¤Ï¡¢½¤Àµ¤µ¤ì¤¿¥³¡¼¥É¤Ç¤¹¡£
using UnityEngine;
using System.Collections;
public class FireworksController : MonoBehaviour
{
[SerializeField]
private GameObject[] fireworksPrefabs; // Ê£¿ô¤Î²Ö²Ð¤Î¥×¥ì¥Ï¥Ö¤ò³ÊǼ¤¹¤ëÇÛÎó
[SerializeField]
private int numberOfFireworks = 10; // À¸À®¤¹¤ë²Ö²Ð¤Î¿ô
[SerializeField]
private float spawnInterval = 5.0f;
[SerializeField]
private float minOffset = -1.0f; // ¥é¥ó¥À¥à¤Ê°ÌÃ֤κǾ®¥ª¥Õ¥»¥Ã¥È
[SerializeField]
private float maxOffset = 1.0f; // ¥é¥ó¥À¥à¤Ê°ÌÃ֤κÇÂ祪¥Õ¥»¥Ã¥È
void Start()
{
StartCoroutine(SpawnFireworks());
}
IEnumerator SpawnFireworks()
{
int fireworksCount = 0; // ¥í¡¼¥«¥ëÊÑ¿ô¤È¤·¤Æ fireworksCount ¤òÄêµÁ
while (fireworksCount < numberOfFireworks)
{
// ¥é¥ó¥À¥à¤Ê²Ö²Ð¤Î¥×¥ì¥Ï¥Ö¤òÁªÂò
int randomIndex = Random.Range(0, fireworksPrefabs.Length);
GameObject selectedPrefab = fireworksPrefabs[randomIndex];
// ¥é¥ó¥À¥à¤Ê°ÌÃ֤˲ֲФòÀ¸À®
Vector3 spawnPosition = transform.position + new Vector3(Random.Range(minOffset, maxOffset), 0f, Random.Range(minOffset, maxOffset));
Instantiate(selectedPrefab, spawnPosition, Quaternion.identity);
fireworksCount++;
yield return new WaitForSeconds(spawnInterval);
}
}
}
¡¡¤³¤Î½¤Àµ¤µ¤ì¤¿¥³¡¼¥É¤Ç¤Ï¡¢fireworksPrefabs ÇÛÎó¤ËÊ£¿ô¤Î²Ö²Ð¤Î¥×¥ì¥Ï¥Ö¤ò³ÊǼ¤·¡¢¥é¥ó¥À¥à¤Ê¥¤¥ó¥Ç¥Ã¥¯¥¹¤òÁªÂò¤·¤Æ²Ö²Ð¤òÀ¸À®¤·¤Þ¤¹¡£
¡¡¤³¤ì¤Ë¤è¤ê¡¢²Ö²Ð¤Ë¸Â¤é¤º¡¢¥é¥ó¥À¥à¤Ê¥¨¥Õ¥§¥¯¥È¤¬À¸À®¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡¤³¤ì¤òÀè¤Û¤É¤ÎŨ¤ÎÀ¸À®¤Ë±þÍѤ¹¤ì¤Ð¡¢¥é¥ó¥À¥à¤ÊŨ¤¬¡¢¥é¥ó¥À¥à¤Ê°ÌÃÖ¤«¤éÀ¸À®¤µ¤ì¤ëµ¡Ç½¤òºî¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¡¡¥×¥í¥°¥é¥à¤Ï¤¹¤Ù¤Æ´ðÁäαþÍѤǤ¹¡£
¤¢¤Ê¤¿Æ¬¤ËÉ⤫¤ó¤À¥²¡¼¥àÆâ¤Î½èÍý¤ò¤É¤Î¤è¤¦¤Ë¤¹¤ì¤Ðɽ¸½¤Ç¤¤ë¤«¡¢¥¤¥á¡¼¥¸¤ò¹Í¤¨¤Æ¤ß¤Þ¤·¤ç¤¦¡£