Unity(122)
-
[Unity] 오브젝트의 위치와 이동 (transform.position / transform.Translate / normalized)
오브젝트의 위치 읽어오기public class Test : MonoBehaviour{ void Start() { Vector3 pos; pos = transform.position; print(pos); }}해당 오브젝트의 현재 위치를 읽어오려면 위의 코드를 사용하면 되며, x, y, z 특정 위치를 알고자 한다면 pos = transform.position.x의 형식으로 지정해 주면 된다. 오브젝트 위치 입력하기transform은 프로퍼티 get, set을 쓰기 때문에 transform.position.x = 10; 은 오류가 발생한다. Vector3 값을 transform.position에 대입하면 된다. 아래와 같은 예시로 살펴볼 수 있다...
2023.08.14 -
[Unity] 변수를 보호하는 방법(캡슐화) - 접근 제한자 / 프로퍼티
접근 제한자 이용public class Test : MonoBehaviour{ public class Player { private int hp; public int GetHP() { return hp; } public void SetHP(int value) { hp = value; } } void Start() { Player player = new Player(); player.SetHP(50); int hp = player.GetHP(); print(hp); }}Player 클래스를 하나 만들..
2023.08.14 -
[Unity] Generic 문법 / GetComponent로 오브젝트 색깔 바꾸기
함수 오버로딩을 통해 int, float 등 형에 상관 없이 사용할 수 있다. 하지만 모든 함수에 오버로딩을 하기에는 불가능하기 때문에 Generic을 사용한다.public class TestGeneric{ public T GenericMethod(T param) { return param; }}T는 임의의 타입이며 로 T 타입을 사용할 것임을 알려준다. (T param)의 T는 입력 파라미터 타입의 T이다.T를 이용한 함수 하나만 만들어두면 어떤 데이터 타입으로도 사용될 수 있다. public class Test : MonoBehaviour{ public class TestClass { public int TestFunc(int param) ..
2023.08.14 -
[Unity] Enum / 키보드 입력(GetKey, GetButton) / 마우스 입력(GetMouseButton, 마우스 이벤트)
Enum(열거형)숫자로 되어 있는 값을 상수로 바꾸어 사용하는 타입. 숫자로 되어있을 경우 오류 발생이 쉽기 때문에 사용한다.public class Test : MonoBehaviour{ public enum Season {Spring, Summer, Autumn, Winter}; void Start() { Season s = Season.Spring; if (s == Season.Spring) { print(s); } }}Season s 로 변수 선언이 가능하고, Season.Spring으로 값 받을 수 있다. 문자로 값을 불러왔지만 내부적으로는 숫자로 인덱스 되어있다. Input.GetKey키보드 입력을 ..
2023.08.11 -
[Unity] Time.deltaTime으로 깜빡이는 오브젝트 만들기
public class Test : MonoBehaviour{ bool flag = true; void Update() { if (flag == true) { flag = false; } else { flag = true; } print(flag); }}update 함수가 0.03초마다 반복될 때마다 flag 변수의 true, false가 반복되어 바뀌면서 출력된다. public class Test : MonoBehaviour{ float time = 0; void Update() { time += Time.delta..
2023.08.11 -
[Unity] 유니티 GameObject 클래스 정리
GameObject 클래스 : 유니티에서 사용되는 물체의 클래스 관리MonoBehaviour 클래스 : 스크립트에 사용되는 클래스 관리, gameObject 변수를 통해 게임 오브젝트 관리 Unity 스크립팅 APIhttps://docs.unity3d.com/kr/2022.1/ScriptReference/index.html Unity 스크립팅 API docs.unity3d.com UnityEngine이라는 namespace를 사용하는 것을 알 수 있고, 사용할 수 있는 변수들이 표시되어 있다. 생성자로 새로운 게임 오브젝트를 만들어낼 수 있다. 게임 오브젝트 생성public class Test : MonoBehaviour{ void Start() { GameObject..
2023.08.10