본문 바로가기

Unity/Unity3D_Quater

Unity3D_Quater - 상점만들기(1)

1.아이템 샵, 장비 샵 오브젝트 생성

  - 빈 오브젝트를 생성하여 Item Shop이름을 주고

  - 하위에 테이블, 아이템그룹, NPC, 원형 파티클시스템 들을 만들어준다 

  *아래와 같은 파티클을 만드려면 모양을 도넛모양으로 주고 Mode를 Loop로 만들어준다

  *추가로 shpere 콜라이더도 만들어준다 -> 그래야 플레이어가 상점에 들어왔는지를 Ontrigger이벤트함수로 체크해서

   상점UI를 켜고 끄고 할 수 있다

 

2.아이템 상점, 장비 상점 오브젝트 생성

 - Canvas 안에 있는 Game Panel 오브젝트 하위에 Item Shop Group이라는 빈 오브젝트를 생성하고

 - 그 하위에 구매목록장비 버튼 3개와 닫기 버튼 1개 캐릭터이미지 1개와 캐릭터 텍스트 1개를 생성

 - 구매목록장비 버튼 안에 장비이미지, 텍스트, 가격등을 넣어준다

 - 닫기버튼은 마우스포인터를 올려놨을때, 클릭 했을때 등 색을 다르게 해준다

 

 

 

3. 플레이어가 상점 파티클 안에서 E키를 눌렀을때 상점UI가 나오도록 하고 X를 누르거나 밖으로 나가면 상점UI가 사라지도록 코드로 구현하기

1). Shop 스크립트 작성

 * UI위치를 코드로 움직이게 하기 

          - Using UnityEngine.UI; 필요

 선언부 - RectTransform shopGroup; //UI를 움직이기 위해서는 RectTranform 자료형 사용

 구현부 - shopGroup.anchoredPosition Vector3.zero//anchoredPosition으로 UI 위치를 조절

 

 

2) Shop스크립트를 알맞은 오브젝트에 적용시키기

  - 위에서 작성한 Shop스크립트를 상점오브젝트의 파티클시스템의 컴포넌트로 추가하고

  - ShopGroup 변수에 우리가 만든 상점 UI가 들어 있는 Item Sjop Group 오브젝트를 드래그 앤드랍

  - Anim 변수에는 상점NPC 오브젝트 하위인 Mesh Object에 애니메이터 가있으니 Mesh Object를 드래그앤 드랍한다 

 

 

3) 플레이어가 상점파티클 안에 들어가서 E키를 누르면 상점UI가 나오고 벗어나면 사라지도록

    Player 스크립트에서 구현

 

 

4) X버튼을 눌러도 상점UI가 사라지도록 Button 오브젝트에 Onclick() 이벤트를 컴포넌트에서 추가해줌