반응형

Unity 62

enum활용

bool을 많이 만들어서 if ( _Moving == false) return if ( _Skill == false) return if ( _Idle == false) return 이런식으로 코드를 쌓아두는것보다 enum으로 상태를 정의해두고 Switch문으로 정리하는게 더 보기도 좋고 유지보수하기도 좋음 public enum CreatureState { Idle, Moving, Skill, Dead, } CreatureState _state = CreatureState.Idle; public CreatureState State { get { return _state; } set { if (_state == value) return; _state = value; UpdateAnimation(); } } ..

Unity 2022.07.05

Unity 2D Tilemap Collsion 정보 추출

Collision은 Unity내의 Component를 이용하지 않고 갈수있는 Tile과 그렇지 않은타일을 구분하는 Tilemap을 하나 만들어서 관리함 Prefabs/Map 폴더 안의 모든 Prefab들을 GameObject[ ] 에 넣고 하나하나 tilemap을 추출함 public class MapEditor : MonoBehaviour { #if UNITY_EDITOR // 단축키 설정 % Ctrl, # Shift, & ALT [MenuItem("Tools/GenerateMap %#g")] private static void GenerateMap() { GameObject[] gameObjects = Resources.LoadAll("Prefabs/Map"); foreach (GameObject go..

Unity/2D 2022.06.28

Create Unity Menu

Unity 에서 Menu를 생성하는 법 using System.Collections; using System.Collections.Generic; using UnityEngine; // 개발하는 단계에서는 사용할 수 있지만 그게 아니라고 한다면 생성이 안되게 해줌 #if UNITY_EDITOR using UnityEditor; #endif public class MapEditor : MonoBehaviour { #if UNITY_EDITOR [MenuItem("Tools/GenerateMap")] private static void HelloWorld() { if (EditorUtility.DisplayDialog("Hello World", "Create?", "Create", "Cancel")) { n..

Unity 2022.06.28

Unity 2D tilemap Collision

방법 1 (자동) Tilemap-> Add Component -> Tilemap Collision 2D를 생성하면 자동으로 Collision을 만들어줌 방법 2 (수동) Collide 전용 tilemap을 만들어서 이동이 불가능한 위치에 특정 tile를 올림 ex(X모양 이미지 등등.. ) 여기서는 돌 이미지를 이용함 ↓↓↓↓↓↓↓ 이후 Collide 전용으로 만든 tilemap에 Script를 생성해서 다음과 같이 입력함 public class Test : MonoBehaviour { public Tilemap _tilemap; // tilemap에 Collide tilemap을 넣음 void Start() { } void Update() { List blocked = new List(); // cel..

Unity/2D 2022.06.27
반응형