반응형

Unity 125

0423_스크롤 상점 데이터 연동하기

먼저 스크롤을 만들어 줍니다. 스크롤을 만들어주고, 안에 있는 아이템을 프리팹을 해줍니다. 1. 데이터를 만들고, 데이터를 맵핑 해줄 클래스를 만들어줍니다. 2. DataManager(싱글턴)에서 데이터를 로드하는 메서드를 만들어줍니다. 관리를 해주는 딕셔너리를 만들고 데이터를 역직렬화 해주어서 딕셔너리에 넣어줍니다. 2.관리를 해주는 메인 스크립터를 만들어줍니다. 스크립터에서 변수를 만들어줍니다. shopItemPrefab; -> 만들어줄 프리팹 contents -> 프리팹을 넣어줄 컨턴츠 atlas -> 프리팹에 이미지를 바꿀 아틀라스 3. 관리해주는 곳에서 아이템을 넣기전에 아이템에 대한 클래스를 정의 해줍니다. public Image icon; public Text txtAmount; public..

0423 _ 스크롤에 만든 데이터 불러오기

스크롤 만들었다.. 데이터불러오기 테이블 부터 만들기 필요한 것을 먼저 정리한 후 Json 파일로 만들어준다. 맵핑할 스크립터를 만들어준다 . 관리를 해줄 데이터매니저를 만들어서 로드를 해준다. 데이터는 리소스 폴더에 넣어 줌 데이터 로드를 끝나면 -- 로드가 끝나면 아이템의 프리팹을 만들어보고, 로드된 데이타가 잘 출력되는지 확인을 한다. 0.먼저 아이템프리팹에 스크립터를 달아주고, text 변수를 넣어서 Init에 받아서 변경시켜준다. Init 으로 외부(상위 클래스)에서 전달을 받으면 텍스트를 변경 시켜준다. 1. 관리해주는 스크립터에서, 프리팹을 달아주고, 값을 전달해준다. public GameObject listItemPrefab; public Transform contents; 생성할 프리팹을..

0422_UILevelUp 애니메이션 만들기

목표 레벨업을 하는 UI를 만든다음에 애니메이션을 하는 것을 만들 것이다. 0. 먼저 가장 뒤에 있는 bg의 ui를 만들고 (order 0) 가장 바깥쪽에 있는 Main 캔버스를 만들어서 작업을 한다.(order 3) 그 다음 UIeff 캔버스를 만들어준다. (order 2) 이렇게 만들어야지 애니메이션을 따로 줄 수도있고, 이펙트와 메인의 위치가 겹치지 않는다. 1. 메인의 애니메이션 키를 잡아준다. 메인과 이펙트의 애니메이션을 잡았다면 스크립터를 생성한다. 2.생성된 스크립터에 버튼을 누를시 애니메이션이 나오게 한다 . 애니메이션이 잘 작동하는걸 볼 수 있다. 3. 애니메이션이 플레이 될 때 이펙터도 같이 나오게 한다. 이벤트를 달아서 호출한다.

0422_애니메이션 후 이펙트 터지게하기

애니메이션 작동 후 이펙터가 나오게 하기 0.먼저 스타를 만들어서 애니메이션을 만들어준다. 1. 그리고 버튼하나를 만들어 줘서 이 버튼이 눌리면 애니메이션이 작동이 되게 해준다. 2. 테스트를 하기 위해서 스크립터 생성 및 달아주기 3. 버튼과 애니메이션을 직접 받아서 버튼 클릭 시 애니메이션이 작동하게 해준다 . 4. 애니메이션이 끝났을 때를 알기위해서 이벤트를 사용해서 끝나는 시점을 호출한다. UIAnimationreciver 라는 스크립터를 사용해서 끝나는 시점을 알려준다. OnComplete() 메서드 시 , 델리게이트 onCmplete를 소환해준다. 이펙트를 배열로 받아넣고, onComplete 대리자가 호출 시 이펙터를 배열에서 foreach문으로 꺼내서 .Play를 해줍니다 . 5.애니메이션..

0422_ UI 팝업 창 애니메이션 하기

0. 먼저 구조대로 UI를 만들어줍니다. 1. main를 잡고 애니메이션을 Create를 해주고, 키를 넣어줍니다. 키를 넣을려면 녹화버튼을 누르면 씬에서 작업하는 것들이 키로 들어갑니다 . 스타는 따로 스크립터에서 꺼주고, 팝업 애니가 끝났을때 켜줄 것 입니다. 테스트할 스크립터를 만들어서 버튼을 누르면 애니메이션이 작동하도록 한다. ---- 2. 스타 애니메이션을 만들고, 코루틴을 활용해서 필요할때 애니를 불러오고 재생을 한다. using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class testComplte : MonoBehaviour { public But..

0421_ TestUIStage // 데이터 가져와서 사용하고 팝업에 띄우기

목표 버튼을 누르면 데이터가 로드가 되고 그 로드된 데이터 기반으로 스테이지에 대한 정보와 보상이 나오는 것을 테스트해본다. 0. 먼저 클릭을 할 버튼을 만들어 준다. 저 버튼을 누르면 팝업을 뜨면서 데이터가 로드가 되는 시스템으로 만들 것이다. 1. TestUIStageItem에 대한 스크립터를 만들어 준다 . id 값은 데이터에서 받아야하지만, 우리는 일단 직접 넣어주기로 함. txtStageNo 는 현재 버튼에 나오는 스테이지 관한 정보 클릭을 하기 위해서 버튼을 받는다. Init 초기화 부분 public void Init() { var data = DataManager.GetInstance().dicStageDatas[this.id]; this.txtStageNo.text = data.stage_..

0421_ UIStage 페이지 넘기기

Next 버튼 Prev 버튼을 누르면 페이지가 넘어간다. 먼저 변수에 버튼을 받아준다. 현재 페이지와 총 페이지에 대한 변수도 만들어준다. 스타트 부분에서 토탈페이지 = 최대 스테이지 / 배열의 총 길이 를 하면 토탈페이지 값이 나온다. 그리고 버튼을 누르면 기능을 하는 메서드가 호출되도록한다. public void NextPage() { if (this.currentPage == this.totalPage) { return; } this.currentPage++; Debug.LogFormat("currentPage: {0}, totalPage: {1}", this.currentPage, this.totalPage); var startIndex = (this.currentPage - 1) * this.a..

0421_유니티 데이터 저장하는 것

dataPath 와 persistentDataPath 방식이있음 ----- 먼저 신규 유저 데이터 저장하는 방법 테스트 씬을 만들어 저장 버튼과 로드 버튼을 만들어 준다. SaveTest 빈 오브젝트를 만들어주고, SaveTest 스크립터를 만들어서 넣어준다.. 그리고 빈 버튼을 받아서 테스트를 해준다 . 로그가 잘 뜨는지 MonoBehaviour를 상속받지 않는 스크립터를 만들어준다. 먼저 StageInfo 는 UIStage에서 필요한 데이터를 가지고있는 Info 스크립터이다. GameInfo 는 StageInfo의 배열을 만들어서 넘겨주는 역할을 한다. ----- persistentDataPath 방식으로 데이터를 저장을 할 것이다. private void Start() { var path = str..

0421_ UIStage

위와 같은 구조로 먼저 UI를 구성을 해준다. UIStageItem(complete, doing, lock이 들어가 있는)를 만들어서 프리팹을 해주고, 배치를 해준다. ---- using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class UIStageItem : MonoBehaviour { public enum eStageItemType { COMPLETE, DOING, LOCK } public GameObject completeGo; public GameObject doingGo; public GameObject lockGo; public GameObject[]..

반응형