유니티
-
json 응용유니티/유니티 메인 2024. 2. 14. 15:47
변하는 데이터 : Info.cs 사용자에 의해 값이 변하는 데이터 ex) 무기의 공격력, 유저의 캐릭터 레벨 변하지 않는 데이터 : Data - 엑셀에서 데이터를 관리 ex)밸런스 데이터, 게임에서 설정되어 있는 데이터 ------------------------------------------------------------------ 이 변하지 않는 Data를 json으로 가공하려한다. json에 대한 설명은 아래 링크에 상세히 적혀있다 json 생각보다 의미 자체나 활용은 어렵지 않지만 중요한 내용이기에 꼭 확실하게 짚고 넘어가야하는 json이다 json : 웹이나 네트워크에서 서버와 클라이언트 사이에서 데이터를 주고 받을 때 사용하 sangeun00.tistory.com 변하지 않는 데이터 값을 ..
-
코루틴 (Coroutine)유니티/유니티 코드 2024. 2. 14. 15:22
유니티에서 정말 중요한 역할을 하는 코루틴. 생각해보니 코루틴에 대해서도 확실하게 짚고 넘어간게 없어 정리해둔다 Unity Documentation에 있는 사전적 정의이다. 사실상 가장 중요한 코루틴의 핵심 요소는 이 3가지로 정의 가능하다 1. 작업을 다수의 프레임에 분산2. 실행을 중단한 부분에서 다음 프레임을 계속할 수 있는 메서드3. 시간의 흐름에 따른 이벤트의 시퀀스, 절차상 애니메이션 표현 가능 이것만 봐서는 뭔가 이해가 될것 같으면서도 무슨 말인지 잘 모르겠다. 하지만 이 예시를 보자void Fade(){ Color c = renderer.material.color; for (float alpha = 1f; alpha >= 0; alpha -= 0.1f..
-
Json 기초 정의유니티/Json 2024. 2. 14. 01:34
생각보다 의미 자체나 활용은 어렵지 않지만 중요한 내용이기에 꼭 확실하게 짚고 넘어가야하는 json이다 json : 웹이나 네트워크에서 서버와 클라이언트 사이에서 데이터를 주고 받을 때 사용하는 개방형 표준 포멧 조금 더 쉽게 풀어서 생각하면 택배상자라고 생각하면 쉽다 우리가 조립용 가구를 구매했다쳤을때, 조립 내용물과 조립설명서를 구성품으로 넣어 택배박스안에 넣은뒤 전송한다여기서 조립용 가구 = 클래스(코드) 택배박스 = json이라고 생각하면 쉽다 우선 json은 텍스트를 사용하기 때문에 사람이 보기에 굉장히 이해하기가 쉽고, 주로 네트워크 환경에서 게임에 필요한 데이터를 주고 받거나 진행상황을 저장할때 사용한다고 한다 { "id":"wergia", "level..
-
foreach유니티/유니티 코드 2024. 2. 14. 01:03
어떻게보면 for, while, do~while 문과 함께 가장 많이 쓰이는 반복문 중 하나이다 이 시점에서 foreach문을 다루는건 너무 늦는게 아닌가 싶지만그래도 그냥 넘어가는것과 확실하게 짚고 넘어가는것은 차이가 크기에 짚고 넘어가겠다 public int[] num = new int[5];void Start(){ num[0] = 0; num[1] = 1; num[2] = 2; num[3] = 3; num[4] = 4; foreach(int idxnum in Num) { Debug.Log(idxnum); } 위 코드처럼 foreach문은 변수를 배열에 담아 배열에 담긴 변수들을 반복시켜주는 반복문이다 여기서 foreach문과 함께 정의된..
-
딕셔너리 (Dictionary)유니티/유니티 코드 2024. 2. 13. 22:55
딕셔너리 : 데이터를 구별할 수 있는 Key와 데이터인 Value의 KeyValuePair의 타입을 저장하는 콜렉션 Key와 Value는 한 쌍으로 Key를 통해 Value값을 알 수 있고, 당연히 Key는 중복될 수 없다 선언 방식은 다음과 같다 Dictionary 이름 = new Dictionary(); Dictionary dic = new Dictionary(); => 왼쪽이 Key 오른쪽이 Value 이처럼 딕셔너리는 Key와 Value에 쓰일 두 개의 자료형이 필요하다. 이제 딕셔너리의 사용법을 알아보자 Add 메소드를 통해 Key와 Value를 저장한다Dictionary dic = new Dictionary();dic.Add(0,100);dic Add(0,5..
-
리스트 (List)유니티/유니티 코드 2024. 2. 13. 17:57
리스트 : 하나의 목록처럼 배열과 유사한 방식으로 데이터들을 저장하는 컨테이너배열 같은 경우는 크기가 생성 당시의 크기로 제한되기 때문에, 크기 변경을 위해서는 배열을 새로 만들어야 한다하지만 리스트는 배열의 크기가 동적으로 바뀌기 때문에 메모리가 허용하는 만큼 자동으로 늘어난다 또 데이터가 순차적으로 저장되는 *연속적인 특성을 가진다.* 연속적 : 데이터가 서로 연결되어 있어 다음 데이터의 주소지를 쉽게 찾아갈 수 있다. 또, 다음 데이터의 주소지를 알고 있기 때문에 반복문 사용에 적합하다 우선 List의 선언은 List 변수명 = new List(); ex) List num = new Lis..
-
UI 응용 총정리유니티/UI 2024. 2. 7. 18:03
총 4가지를 만들 예정이다 1. 버튼1을 누르면 버튼 3,4를 사라지게 하기 / 버튼2를 누르면 버튼 3,4를 나타나게 하기 2. ShowPopup 버튼을 누르면 Popup상자를 나타나게 하기 / Popup상자에 달린 close버튼을 누르면 사라지게 하기 (글자제한 5글자) 3. Popup창의 Inputfield에 이름 입력. 두글자 이하면 두글자 이하버튼, 세글자 이상이면 세글자 이상 버튼이 나타나게 하기 4. [세글자 이상 버튼] 대신 [닉네임 변경]으로 버튼이름 변경. [닉네임 변경]을 누를시 텍스트 상자에 "[바뀐 이름]으로 변경되었습니다" 출력. 1. 버튼1을 누르면 버튼 3,4를 사라지게 하기 / 버튼2를 누르면 버튼 3,4를 나타나게 하기 캔버스를 만들고 그 안에 버튼 4개를 만들어준다 우선..
-
UI 응용2 (버튼 클릭시 나머지 버튼 비활성화 시키기)유니티/UI 2024. 2. 7. 02:16
임의로 버튼 3개를 만든다 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class UIComponent : MonoBehaviour { [SerializeField] private Button btn1; [SerializeField] private Button btn2; [SerializeField] private Button btn3; void Start() { this.btn1.onClick.AddListener(() => { // 2,3번 비활성화 this.btn2.gameObject.SetActive(false); this.btn3.gameObject..