분류 전체보기(166)
-
UI 캔바스 상의 오브젝트 위치를 조절하고 싶을 때
transform.localPosition 을 통해 스크립트에서 위치 값을 제어할 수 있다.
2022.02.19 -
하나의 토글만 On 시키고 싶을 때
빈 오브젝트에 토글 그룹 컴포넌트를 넣고 토글을 그 오브젝트의 자식으로 넣는다.
2022.02.19 -
22.02.15 업적 창 구현하기
업적 창은 지난 번 포스팅했던 상점 구현과 비슷하다. 데이터를 불러오고, UI에 표기하는 것. [도전 과제] 보상 수령이 가능한 업적이 맨 위에, 진행 중인 업적이 가운데에, 모두 완료한 업적은 맨 밑에 나열되도록 할 것이다. 업적 1단계를 완료하고 보상을 받은 후, 보상이 늘어난 다음 단계의 업적 달성 조건을 보여준다. 업적 달성 정도에 따라 별 개수가 달라지고, 버튼 모양 또한 달라지게 한다. 업적 리스트가 실시간으로 갱신된다. [해결 과정] Achievement Info 클래스를 만들어서 게임의 모든 업적 진행 상황을 담았다. 이 인포 클래스를 참조해서 업적이 진행 중인지, 완료된 상태인지, 보상 수령이 가능한 상태인지 판별한다. 업적 창에서 업적의 진행 상태에 따라서 위에 둘 것인지, 밑에 둘 것..
2022.02.15 -
22.02.14 Shop 메뉴 구현하기
총 3가지의 재화를 구입할 수 있는 Shop 메뉴를 구현해보자. 우선 나는 재화 종류마다 팝업 창 오브젝트를 만들어 주어서, 버튼이 눌린상태 , 안눌린 상태 구분하는 코드를 생략했다. 덕분에 수작업은 조금 늘었지만, 할 게 줄어서 좋기도 하다. 전체적인 구조는 다음과 같다. 캔버스의 자식으로 3개의 팝업 창 오브젝트가 있고, 각 팝업 창은 스크롤뷰와 슬롯 프리팹을 가지고 있다. 팝업 창을 열면 팝업창 오브젝트가 자신의 스크롤뷰 안에 슬롯 프리팹을 생성한다. 실행 화면 소스 코드 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class UIShopControl ..
2022.02.14 -
[C#] new 연산자, boxing
new 연산자란? 클래스로부터 인스턴스 객체를 생성한다. 생성자를 호출한다. new로 만든 인스턴스는 힙 메모리에 할당된다. -> 가비지 콜렉터가 관리하는 영역 인스턴스를 아무도 참조하고 있지 않을 때는 GC가 수거해간다. 박싱과 언박싱 박싱은 힙에 값 형식을 저장하는 데 사용된다. 값 형식을 박싱하면 힙에 개체 인스턴스가 할당되고 값이 새 개체에 복사된다. 언박싱은 개체 인스턴스의 값을 값 형식 변수에 복사하는 데 사용된다. 언박싱의 연산 과정은 개체 인스턴스가 지정한 값 형식을 박싱한 값인지 확인한다. 인스턴스의 값을 값 형식 변수에 복사한다. https://docs.microsoft.com/ko-kr/dotnet/csharp/programming-guide/types/boxing-and-unboxi..
2022.02.12 -
22.02.11 UI 기능 추가 (페이지, 해금, 재화 표시)
2월 9일 포스팅에서 이어지는 내용입니다. 이전 포스팅에서 스테이지 버튼을 클릭했을 때 스테이지에 대한 정보가 나오는 팝업창을 구현했다. 오늘은 잠긴 스테이지의 팝업창을 추가하고, 상단에 재화를 표시하고, 스테이지 목록을 다음 페이지로 넘기는 기능을 구현할 것이다. 스테이지가 잠긴 상태의 팝업창 구현하기 이전에 만들어둔 팝업창을 띄우는 메서드를 보면, '스테이지가 잠겼을 때'는 아무 행동도 하지 않고 함수를 종료하게 만들어 두었다. 이 '스테이지가 잠겼을 때'에 오늘 만들 팝업창을 띄울 코드를 작성해보자. 각 버튼은 자신의 스크립트 내에 UI오브젝트(만든 팝업창) 하나를 갖고 있다. UI오브젝트 또한 자신의 UI요소를 다룰 스크립트 하나를 갖고 있다. '스테이지가 잠겼을 때' 조건문 안에다가 UI오브젝트..
2022.02.11