숙제 설명
받으면 오히려 5점 감점되는 빨간 빗방울을 만들어봅시다!
- 내가 만든 빗방울의 메커닉을 살짝 수정해서 재미있는 게임을 만들 수 있어요!
- 게임 내 에셋을 생성하고 배치하고, 수정하는 과정을 복습해보세요.
필수숙제
- 랜덤한 빗방울을 하나 추가합니다.
- 빗방울의 사이즈는 0.8, 색깔은 255, 100, 255로 설정해주세요.
- 맞으면 -5점 감점되도록 설정해주세요!
기본 크기와 점수가 다른 파란색의 빗방울만을 생성하는 파트에 추가로 점수를 잃게 만드는 빨간색 빗방울을 생성해야합니다.
현재 빗방울을 생성하는 부분은 Rain.cs 의 Start 문 입니다.
private void Start()
{
spriteRenderer = GetComponent<SpriteRenderer>();
//X좌표 랜덤 생성
float x = Random.Range(-2.7f, 2.7f);
//Y좌표 랜덤 생성
float y = Random.Range(3.0f, 5.0f);
//이 오브젝트가 생성될때, 위치를 랜덤하게 만들어줌
transform.position = new Vector3(x, y, 0);
//빗방울 생성시, 랜덤한 크기로 생성하기 위한 변수
int type = Random.Range(1, 4);
if (type == 1)
{
size = 0.8f;
score = 1;
spriteRenderer.color = new Color(100 / 255f, 100 / 255f, 1);
}
if (type == 2)
{
size = 1f;
score = 2;
spriteRenderer.color = new Color(130 / 255f, 130 / 255f, 1);
}
if (type == 3)
{
size = 1.2f;
score = 3;
spriteRenderer.color = new Color(150 / 255f, 150 / 255f, 1);
}
//생성될 때, 타입에 따라서 크기를 변경함
transform.localScale = new Vector3(size, size, 1);
}
무작위 정수를 발생시키는 type 변수의 Random.Range 의 범위를 수정하고, 새로운 정수값에 대한 if문을 하나 더 늘려주면 문제를 해결할 수 있습니다.
type 변수의 랜덤값을 1 ~ 5로 변경해줍니다.
private void Start()
{
//...생략
//빗방울 생성시, 랜덤한 크기로 생성하기 위한 변수
int type = Random.Range(1, 5);
//...
//생성될 때, 타입에 따라서 크기를 변경함
transform.localScale = new Vector3(size, size, 1);
}
이때, Random.Range의 범위에 주의하셔야 합니다.
Random.Range는 2개의 매개변수를 받는데, 왼쪽 매개변수 이상, 오른쪽 매개변수의 미만 값을 생성합니다.
// 1 ~ 5까지 무작위 정수 생성
int randomInt1 = Random.Range(1, 6);
// 0 ~ 4까지 무작위 정수 생성
int randomInt2 = Random.Range(0, 5);
또한 함수가 오버로딩 되어있기 때문에 한쪽 또는 양쪽 모두가 float 형 변수를 받을경우, float 값의 랜덤값을 반환합니다.
float 값을 반환할때 또한 왼쪽 매개변수 이상, 오른쪽 매개변수 미만의 값을 반환하게 됩니다.
//1 이상, 5.5 미만의 실수 반환
float randomFloat1 = Random.Range(1, 5.5f);
//0 이상, 4 미만의 실수 반환
float randomFloat2 = Random.Range(0f, 4f);
마지막으로 무작위값이 4가 나왔을때의 if문을 작성해줍니다.
다른 if문과 같이, size와 score, 색상을 정해줍니다.
빨간 빗방울은 받으면 점수를 잃기 때문에, score값을 -5로 지정해줍니다.
private void Start()
{
//...
//빗방울 생성시, 랜덤한 크기로 생성하기 위한 변수
int type = Random.Range(1, 5);
if (type == 1)
{
size = 0.8f;
score = 1;
spriteRenderer.color = new Color(100 / 255f, 100 / 255f, 1);
}
if (type == 2)
{
size = 1f;
score = 2;
spriteRenderer.color = new Color(130 / 255f, 130 / 255f, 1);
}
if (type == 3)
{
size = 1.2f;
score = 3;
spriteRenderer.color = new Color(150 / 255f, 150 / 255f, 1);
}
//빨간 빗방울
if(type == 4)
{
size = 0.8f;
score = -5;
spriteRenderer.color = new Color(1f, 100 / 255f, 1f);
}
//생성될 때, 타입에 따라서 크기를 변경함
transform.localScale = new Vector3(size, size, 1);
}
이것으로 빨간 빗방울의 생성이 완료되었습니다.
'사전캠프 > Unity' 카테고리의 다른 글
2주차 강의 - 떨어지는 네모를 없에기 (0) | 2024.08.21 |
---|---|
Unity 레거시에 대하여 (0) | 2024.08.21 |
디자인 패턴 - 싱글톤 패턴 (0) | 2024.08.20 |
유니티의 라이프사이클 (0) | 2024.08.19 |
Unity 스크립트 - transform, Vector3 (0) | 2024.08.19 |