728x90
안녕하세요.
오늘은 오브젝트 제거시 아이템이 나오는 예제를 진행하겠습니다.
더보기
기존예제인 클릭으로 2D오브젝트 제거하기에서 이어지는 예제입니다.
먼저 드랍될 오브젝트를 생성합니다.
그리고 제거되는 오브젝트의 스크립트 파일을 추가합니다.
(기존예제에서 TreeCuttable.cs 로 진행했던 파일을 수정하시면 됩니다)
//TreeCuttable.cs
public class TreeCuttable : ToolHit
{
[SerializeField] GameObject pickUpDrop;
[SerializeField] int dropCount = 5; //아이템 드랍수
[SerializeField] float spread = 0.7f; // 퍼지는 범위
public override void Hit()
{
while(dropCount >0){
dropCount -= 1;
Vector3 position = transform.position;
position.x += spread * UnityEngine.Random.value - spread /2; //아이템 랜덤배치
position.y += spread * UnityEngine.Random.value - spread /2; //아이템 랜덤배치
GameObject go = Instantiate(pickUpDrop); //아이템을 새로 생성(인스턴스 선언)
go.transform.position = position; //위에서 랜덤으로 만든 x,y 위치에 아이템 놓기
}
Destroy(gameObject);
}
}
드랍할 오브젝트를 계층구조에서 프로젝트로 드래그하시면 오브젝트파일로 생성됩니다.
그렇게 생성한 드롭아이템을 제거될 오브젝트의 컴포넌트 중 TreeCuttable 스크립트 Pick Up Drop 에 넣어줍니다.
'C#' 카테고리의 다른 글
[C#][Unity] 2D 아이템 자동습득 (0) | 2022.11.28 |
---|---|
[C#][Unity] SetActive와 enabled (0) | 2022.11.16 |
[C#][Unity] 점프 샘플 코드 (0) | 2022.11.05 |
[C#][Unity] 로그 찍기 (0) | 2022.11.01 |
[C#][Unity] 클릭으로 2D 오브젝트 제거하기 (0) | 2022.10.29 |