SendMessage 유니티 메시지 전달

|


SendMessage()는 다른 오브젝트에 연결된 스크립트의 특정 함수를 호출하는 함수이다.


SendMessage()로 호출할 함수는 큰 따옴표("")로 묶어서 입력하며 다음과 같은 형식으로 사용한다.

<오브젝트>.SendMessage("함수명",<옵션>);

<오브젝트>.SendMessage("함수명",인수,<옵션>);


SendMessage()로 전달되는 인수는 하나만 가능하므로 여러 개의 값을 전달할때는 배열로 전달하여 처리한다.

<옵션>은

SendMessageOptions.DontRequireReceiver;

SendMessageOptions.RequireReceiver;


두가지가 있으며, DontRequireReceiver 옵션은 함수의 처리 결과를 호출 프로그램에 전달할 필요가 없는 경우 사용한다(반환값이 void일 경우)

DontRequireReceiver 은 호출 함수가 실행이 끝날때 까지 기다리지 않고 곧바로 다음 처리를 진행하므로 게임의 전체적인 실행 속도가 빠르다는 이점이 있다.



예)


	// Calls the function ApplyDamage with a value of 5
	gameObject.SendMessage ("ApplyDamage", 5.0);
	
	// Every script attached to the game object 
	// that has an ApplyDamage function will be called.
	function ApplyDamage (damage : float) {
		print (damage);
	}






Trackback 0 And Comment 0