본문 바로가기

게임 개발52

[Unity | 유니티] Serializable Class 활용하기 인스펙터에서 상의 변수들을 그룹으로 분류하여 serializable class로 만들면 관리가 용이하다. Serializable Class 만들기 공통 속성을 가진 변수들을 그룹지어 클래스를 만든다. [Serializable] 속성을 부여한다. 생성한 클래스에 변수들을 모두 public으로 선언한다. Awake()나 Start()에서 초기화할 필요가 없다. 초기화는 유니티가 자체적으로 해 준다. 변수 선언시 초기화 값을 지정할 수 있다. 플레이어가 가진 속성을 이동속성과 체력속성으로 분리하여 serializable class로 관리해 보았다. 123456789101112131415161718[Serializable]public class MovementProperties //Not a MonoBehavi.. 2018. 11. 21.
[Unity | 유니티] 특정 디렉토리에서 프리팹 또는 파일 로드하기 경로에 있는 첫번재 오브젝트를 찾아 반환한다. 경로는 대소문자를 구분함에 유의해야 한다. 오브젝트를 찾지 못하면 Null을 반환한다. 1234567891011using UnityEngine;using UnityEditor; public class LoadAssetFromDirectory : MonoBehaviour{ static void ImportExample() { Texture2D texture = (Texture2D)AssetDatabase.LoadAssetAtPath("Assets/Textures/texture.jpg", typeof(Texture2D)); GameObject obj = (GameObject)AssetDatabase.LoadAssetAtPath("Assets/Prefab/play.. 2018. 11. 15.
[Unity | 유니티] EasingFunctions.cs 스크립트 작성하기 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 public static class EasingFunctions { private const float halfPi = Mathf.PI * 0.5f; /// /// A linear progress scale function. /// public static readonly Func Linear = linea.. 2018. 11. 15.
[Unity | 유니티] WWW 호출 인터페이스 작성 서버 통신을 위한 WWW 호출 인터페이스를 작성해보자. 필요한 클래스에 매번 함수를 작성하는 것보단 인터페이스를 만들고 상속해서 사용하는 것이 편리하다. GET과 POST용 함수를 따로 작성했는데 POST를 이용한 통신에서는 form에 필요한 데이터를 넣어주는 로직이 추가 되었다. 응답으로 받은 데이터를 어떻게 파싱할 것인지(parser), 호출 성공시 어떤 콜백을 실행할 것인지(onSuccess), 호출 실패 시 어떤 콜백을 실행할 것인지(onFailure) 매번 지정할 수 있으며, 따라서 깔끔하고 가독성 높은 코드 작성이 가능해진다. public void GET(string url, Func parser, Action onSuccess, Action onFailure) { StartCoroutine(.. 2018. 3. 4.