728x90
유니티 오브젝트 자동 스폰 방법
오브젝트가 중력이 적용되어 지면에 닿으면 튀게 하는 효과 : 마우스 왼쪽 클릭 - Physical Material - bounciness(1)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Spawner : MonoBehaviour
{
public GameObject BallPrefab;
public float minDelay = 0.1f;
public float maxDelay = 1f;
public float DestroyDelay = 5f;
private IEnumerator coroutine;
void Start()
{
coroutine = SpawnFruits(DestroyDelay);
StartCoroutine(coroutine);
}
/*void Update()
{
if(Input.GetMouseButtonDown(0))
{
float SpawnX = Random.Range(-3f, 3f);
Vector3 SpawnPoint = new Vector3(SpawnX, 3, 0);
GameObject SpawnedBall = Instantiate(BallPrefab, SpawnPoint, Quaternion.identity);
Destroy(SpawnedBall, DestroyDelay);
}
}*/
IEnumerator SpawnFruits(float DDelay)
{
while(true)
{
float delay = Random.Range(minDelay, maxDelay);
yield return new WaitForSeconds(delay);
float SpawnX = Random.Range(-3f, 3f);
Vector3 SpawnPoint = new Vector3(SpawnX, 1, 0);
GameObject Spawnedball = Instantiate(BallPrefab, SpawnPoint, Quaternion.identity);
Destroy(Spawnedball, DDelay);
}
}
}
또는
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Spawner2 : MonoBehaviour
{
public GameObject BallPrefab;
public float DestroyDelay = 5f;
public float minDelay = 0.1f;
public float maxDelay = 1f;
void Start()
{
StartCoroutine(SpawnFruits());
}
IEnumerator SpawnFruits()
{
while (true)
{
float delay = Random.Range(minDelay, maxDelay);
yield return new WaitForSeconds(delay);
Bfunc();
}
}
void Bfunc()
{
float SpawnX = Random.Range(-3f, 3f);
Vector3 SpawnPoint = new Vector3(SpawnX, 3, 0);
GameObject SpawnedBall = Instantiate(BallPrefab, SpawnPoint, Quaternion.identity);
Destroy(SpawnedBall, DestroyDelay);
}
}
728x90
'게임 프로그래밍 > 유니티 프로젝트' 카테고리의 다른 글
유니티 UI Layout Group 종류 및 옵션 값 설정하기 (0) | 2021.10.22 |
---|---|
유니티 Slider 한계시간 설정 코드 및 컴파일러 에러 해결 (0) | 2021.10.21 |
유니티 오브젝트/라이트/Shader 생성 관련 코드 (0) | 2021.10.20 |
유니티 오브젝트 유리/거울 효과 만들기 (0) | 2021.10.14 |
유니티 한글 폰트 적용하기(UGUI) (1) | 2021.10.14 |