본문 바로가기

전체 글

[Unity C# Reference] Properties Properties : 변수의 get /set을 처리하는 구문. Properties 설정방법 //일반 변수 선언법int point; //Proporties 변수 선언법 int point{ get{} set{} } Properties 변수 선언 예제 코드 1234567891011121314151617181920212223242526using System.Collections;using System.Collections.Generic;using UnityEngine; public class PointManager : MonoBehaviour { private int m_point; public int point{ get { return m_point; } set { if (value 더보기
[Unity C# Reference] Abstract Class Abstract Class (추상 클래스) : 인터페이스 클래스와 역할이 거의 같다. 하지만 인터페이스와 달리 추상 클래스에서 내부 코드를 어느정도 정의해 둘 수 있다. 추상 클래스 내에 "하위 클래스들에게 직접 정의하도록"명령할 요소에 대해서는 abstract를 붙이면 된다. 추상 클래스 작성의 예 12345678910111213141516171819202122232425262728using System.Collections;using System.Collections.Generic;using UnityEngine; //abstract : 추상 클래스. Interface와 같이 abstract를 상속받을 경우 //abstract 클래스 내부 구조를 그대로 구현해야한다. 단 여기서 일부를 구현해둘 수도 .. 더보기
[Unity C# Reference] Interface Class 인터페이스 클래스 : 해당 클래스를 상속받는 모든 클래스에게 인터페이스 클래스 내부의 함수 및 변수를 필수적으로 선언하여 포함하도록 강제하는 장치. 이로 인해 해당 인터페이스 클래스를 상속받은 클래스들은 그 클래스가 어떤 클래스인지를 따질 필요 없이 인터페이스 클래스 내부에 있는 함수는 바로 가지고올 수 있다 (반드시 만들어야하므로, 반드시 포함되어 있기 때문) Interface Class의 선언 1234public interface I_item //헤더도 필요 없이 바로 이대로 선언한다{ void Use(); //여기 써있는 클래스 내부 함수는 상속받은 Child들은 무조건 생성해야 한다}Colored by Color Scriptercs 단, 인터페이스 클래스의 경우 함수를 선언까지만 할 뿐 함수 내부.. 더보기
[Unity C# Reference] Physics.Raycast Physics.Raycast : 시작지점에서 가상의 레이저를 발사하여 충돌하는 오브젝트를 리턴함. Physics.Raycast(Vector3 origin, Vector3 direction, out RaycastHit hitInfo, float maxDistance, (int)LayerMask Layermask) Vector3 origin : 레이가 시작될 좌표Vector3 direction : 광선이 발사될 방향/각도 (정규 벡터 추천)out Raycasthit hitInfo : 레이에 충돌한 오브젝트의 정보를 리턴받을 변수float maxDistance : 레이의 최대 발사 거리(int)LayerMask layermask : 레이캐스트를 실행할 씬 레이어. 여기서 설정한 레이어에만 유효하다(생략 가능... 더보기
[Unity C# Reference] Transform Transform : Object의 렌더링 정보를 리턴한다 transform : 위치rotate : 회전scale : 스케일 Transform.GetChild : 현재 오브젝트의 자식을 가져온다 Transform.ChildCount : 현재 오브젝트의 자식 오브젝트의 총 수를 리턴한다. //특정 오브젝트의 자식들의 이름을 출력 for(int i=0; i 더보기
[Unity C# Reference] CoRoutine Co-Routine Co-Routine은 메인 스크립트의 Flow와 병렬로 처리되는 별개의 process이다.일반적으로 특정 process에 delay를 주고자 할때 편리하게 사용할 수 있다. Unity에서 Co-Routine은 IEnemerator 형태를 반환하는 함수를 사용하는데 이것은 유니티 고유 문법이다 (즉 C# 공용 문법이 아니다) 그리고 Co-Routine은 최소 1회 이상의 yield return문을 사용하여야 한다. 1234567891011121314151617181920212223242526272829303132using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI; p.. 더보기
[Unity C# Reference] List List : 배열의 수가 유동적으로 조절되는 배열. (Linked List) List.Add(요소) : 리스트에 요소를 추가함List.Add(23); List.RemoveAt(번호) : 리스트의 해당 번호의 요소를 삭제함List.RemoveAt(3); List.Remove(값) : 리스트 내의 해당 값을 빼버림 (요소가 아니라 값을 다이렉트로 검색)//단 중복이 될 경우는 가장 앞에 있는 값 1개만 제거됨List.Remove(25); List.Count : 리스트의 길이를 반환함 //리스트 초기화 예시while(List.Count >0){List.RemoveAt(0);} 더보기
[Unity C# Reference] Quternion 1. Quternion[메모] 쿼터니언의 증가는 곱셈으로 이루어진다 (덧셈이 아니다)[메모2] 쿼터니언의 증가를 위해 곱셈을 할 경우 반드시 Global Space기준으로 해야함. 그게 아니면Local 기준으로 회전하기 때문에 정확한 수치가 나오지 않는다. Quternion.Euler : 오일러 각에 의한 쿼터니언 로테이션 생성. Quternion.Euler ( Vector3 좌표) Quternion.Euler(new Vector3(10,20,20)); Quternion.LookRotation : 설정한 방향으로 해당 오브젝트를 돌린다(해당 방향으로 쳐다보게 만든다.3차원 좌표계에서 "앞쪽"은 Z축이므로, 해당 방형으로 오브젝트의 Z축을 정렬시킨다)Quternion.LookRotation( Vector3.. 더보기