170902 - 유니티C#스크립팅마스터하기)1장
void Start ()
{
// 여기에 초기화할 내용을 넣는다
}
void Update ()
{
// 매 프레임마다 1회 호출된다
}
https://docs.unity3d.com/kr/current/ScriptReference/MonoBehaviour.html <- 관련 이벤트 함수들이 들어있는 클래스 설명
---
Debug.Log("로그로출력할내용");
// public static void Log(object message);
---
obj = GameObject.Find("item");
// public static GameObject Find(string name);
// 씬의 오브젝트를 이름으로 찾는 함수
---
DestroyImmediate(obj);
// public static void DestroyImmediate(Object obj, bool allowDestroyingAssets = false);
// 오브젝트를 즉시 파괴하는 함수. 표준에서는 Destroy 사용을 권장.
Destroy(obj);
// public static void Destroy(Object obj, float t = 0.0F);
// 오브젝트를 파괴하는 함수. 업데이트에서 쓰면 업데이트가 끝날때 파괴된다거나 하는 식인 듯.
---
transform.Rotate(new Vector3(0.0f, 1.0f, 0.0f));
// public void Rotate(Vector3 eulerAngles, Space relativeTo = Space.Self);
// 해당 스크립트가 들어간 오브젝트의 트랜스폼을 y축 기준으로 프레임마다 1도씩 회전시킨다.
-----
get, set
변수가 있을 때는 get과 set을 이용해 접근할 때와 값을 바꿀 때 어떻게 행동될지 설정할 수 있음.
private int secNum = 0;
public int num
{
get
{
return secNum; //접근 시 secNum을 출력
}
set
{
if((value < 11) && (value > 0))
{
secNum = value;
numChange(); //별도로 만들 함수
}
}
}
같은 식으로 사용 함
-----
///은 XML 주석
///<summary>
///number change
///</summary>
///<returns> number </return>
///<param name="num">number</param>
같은 식으로 사용.
그럼 해당 함수를 작성할 때 주석이 보인다.
-----
void Start()
{
SendMessage("killMonster", SendMessageOptions.DontRequireReceiver);
}
void KillMonster()
{
Debug.Log("oops!");
}
// public void SendMessage(string methodName, SendMessageOptions options);
// 게임 오브젝트에 붙어있는 모든 컴포넌트에 인수에 적은 함수를 호출.
// 뒤에 적은 옵션은 컴포넌트에 해당 함수가 없을 경우 무시하고 다음 컴퍼넌트로 넘어가도록 하는 것.
// 비슷한 함수 중 public void BroadcastMessage(string methodName, SendMessageOptions options); 가 있음.
// 이 함수는 게임오브젝트의 모든 컴포넌트에 인수에 적은 함수를 호출하고, 계층상의 모든 자식 오브젝트, 그 자식 오브젝트까지 재귀적으로 이어간다.