1-5 빗방울만들기
오브젝트 생성
hirearchy 창에서 2d object -> sprite -> circle
위치를 x 0 y 4 색상을 R 150 G 150 B 255 로 변경
오브젝트 이름을 Rain으로 변경
빗방울에 중력부여하기
Rain 오브젝트의 inspector 창의 add component 클릭후 Rigidbody 2d 선택
충돌효과 부여하기
다시 add component 클릭 후 circle collider 2d 선택
이번엔 Ground 오브젝트를 클릭후 add component -> box collider 2d 선택
빗방울 파괴
project의 script 폴더에 Rain 스크립트 생성 후 실행
Start나 Update가 아닌 새로
private void OnCollisionEnter2d(Collision2D collision)
{
}
을 치고 안에 Debug.Log("충돌");을 써서 빗방울이 지면에 닿았을때 출력되는지 확인
if(collision .gameObject.name == "Ground")
{
}
충돌한 오브젝트의 이름이 Ground와 같다면 실행되는 조건
안에 Destroy(collision.gameObject); 를 씀
충돌한 오브젝트를 제거 하지만 충돌했을때 Ground가 파괴됨
따라서 Destroy(this.gameObject); 로 고쳐 빗방울이 파괴되도록 고침
태그 부여하기
하지만 오브젝트의 이름이 바뀌면 동작을 하지 않으니 태그를 사용하기로 함
Ground 오브젝트를 클릭 inspector창의 이름 밑에 Tag 칸을 클릭
Add tag.. -> +버튼 클릭 후 새로운 태그 이름 'Ground' 명명
Ground 오브젝트의 태그를 Ground 태그를 붙임
if(collision .gameObject.CompareTag("Ground"))
{
}
로 조건 수정
1-6 랜덤한 빗방울
Rain 오브젝트를 Scene 에서 움직여보며 위치값 정보를 수집
x값은 -2.4 에서 2.4 y값은 3에서 5 값으로 책정
Rain 스크립트로 이동
Start함수에서
float x = Random.Range(-2.4f,2.4f); x라는 변수 생성
float y = Random.Range(3f,5f); y라는 변수 생성
transform.positon = new Vector3(x,y,0); 괄호안에 생성한 변수를 입력하여 랜덤한
position 값을 가지도록 함
빗방울 사이즈 조절
작은,중간,큰 빗방울은 만들기 위해
int type = Random.Range(1,4); 1에서 3까지 랜덤한 값을 받아오는 변수 생성
if (type == 1)
{
}
else if(type ==2)
{
}
else if(type ==3)
{
}
와 같이 type 값을 조건으로 3가지 조건문을 생성
public class 밑에
float size = 1.0f;
int score =1; 빗방울 크기와 점수 변수 생성 score는 나중에 점수창을 만들때 사용됨
아까 만든 조건문들 안에
size = 0.8f; (if type==1)
score = 1;
size = 1.0f; (if type==2)
score = 2;
size = 1.2f (if type==3)
score = 3;
와 같이 빗방울 크기와 배점을 다르게 설정 및
조건문 아래
transform.localScale = new Vector3(size,size,0);
Rain오브젝트의 Scale 값을 재설정하는 코드를 입력
빗방울 색을 각각 다르게 설정
public class 밑에 SpriteRenderer renderer; 입력
Start 함수 안에
renderer = GetCompare<SpriteRenderer>(); 입력
조건문들 안에
renderer.color = new Color(100/255f ,100/255f ,1f ,1f); (if(type==1))
renderer.color = new Color(130/255f ,130/255f ,1f ,1f); (if(type==2))
renderer.color = new Color(150/255f ,150/255f ,1f ,1f); (if(type==3))
빗방울들의 색상을 다르게 입력
'TIL' 카테고리의 다른 글
2024 08 28 TIL (7) | 2024.08.28 |
---|---|
2024 08 27 TIL (0) | 2024.08.27 |
2024-08-26 TIL (0) | 2024.08.26 |
2024 08 23 TIL (0) | 2024.08.23 |
2024 08 22 TIL (0) | 2024.08.22 |