Random.Range
컴퓨터 프로그래밍 언어에서는 난수라고도 한다.
사실 컴퓨터는 랜덤이란게 있을 수 없기 때문에 일정 범위에 숫자값을 집어넣고
그중에 윈도우나 유니티상에서 시간값을 가지고 숫자를 뽑아내는 것을 난수라고 한다.
유니티에서는 Random.Range가 존재한다.
사용법
Random.Range(min,max ) //min
[inclusive]과 max
[inclusive]사이의 랜덤 float 수를 반환
주의할점을 값이 int일 경우 max값은[exclusive] 나오지 않는다.
public class ItemDrop : MonoBehaviour {
public GameObject Item;
void Start () {
InvokeRepeating("Spawnitem", 1, 1); //1초에 1번씩 Spawnitem()를 호출한다.
}
void Spawnitem()
{
float randomX = Random.Range(-23f, 19f);
if(true)
{
Debug.Log("생성");
GameObject item = (GameObject)Instantiate(Item, new Vector3(randomX, 1.1f,0f), Quaternion.identity);
}
}
}
InvokeRepeating : time 초에 /methodName/메서드를 호출한 후, 매 /repeatRate/초 마다 반복적으로 호출
Instantiate(Item, new Vector3(randomX, 1.1f,0f), Quaternion.identity); Item이라는 프리팹을 생성한다.
Quaternion.identity : 회전없음
생성될 아이템 프리팹을 설정한다.
아이템이 랜덤으로 생성되는것을 볼 수 있다.
위 코드는 X위치만 랜덤 생성해 주었지만 Z값도 랜덤 설정하면 사방에서 스폰 될 것이다.
'유니티 > 기능구현' 카테고리의 다른 글
유니티) 데미지값 출력하기 FloatingText (Camera.WorldToScreenPoint) (0) | 2018.12.31 |
---|---|
유니티) 일정거리 안에 들어오면 오브젝트 반응하기 (오브젝트 사이간 거리계산) (2) | 2018.12.24 |
유니티)카메라 화면 전환 효과내기(1인칭),(측면뷰) (2) | 2018.12.15 |
유니티) 캐릭터 점프 구현하기 (AddForce) Roll a Ball #3 점프 한번만 하기 (GetKeyDown) (1) | 2018.12.09 |
유니티) 3D 캐릭터 마우스로 회전시키기 (0) | 2018.12.06 |