[런게임] 유니티 3D로 러너 게임 만들기 - GUI 와 게임시작

|

GUI 와 게임 시작

현재 우리는 game start 이벤트를 가지고 있습니다. GUI를 생성하고 매니저 클래스에서 이것을 사용할 것입니다.

 우리의 scene에 텍스트 라벨을 하나 더할것 입니다. 우리가 오브젝트 그룹들을 편리하게 관리하기 위해서, 빈 게임 오브젝트를 만들고 포지션은 (0,0,0)으로 설정하고 이것의 이름을 GUI라고 정합니다. 빈 게임 오브젝트에 guiText 컴포넌트를 생성하고 하위에 추가합니다. (Component / Rendering / GUIText). GUIText의 Anchor 필드값을 middle center로 맞춥니다.

첫번째 오브젝트의 이름은 Game Over Text 이고, Text 필드값에 "GAME OVER"를 입력하고  Font Size는 40, Font Style은 bold로 설정합니다. 위치를 (0.5, 0.2, 0)로 수정하면 화면의 밑에 나타날 것입니다.

두번째 오브젝트의 이름은 Instructions Text이고, 또한 bold로 맞추고 font size는 20, 그리고 text필드에는 "press Jump (x or space) to play"를 설정합니다. 위치는 (0.5, 0.1, 0)로 수정합니다. 

세번째 오브젝트는 Runner Text이고, text "RUNNER"이고, 스타일 bold, 그리고 font size 는 60으로 설정하고. 위치는 (0.5, 0.5, 0)로 설정합니다.

GUIManager 클래스를 생성하고 Managers 폴더에 집어넣고  GUIText 변수들을 만듭니다. 새로운 오브젝트 GUI Manager를 생성하고 스크립트를 컴포넌트에 붙입니다. 그리고 매너저의 하위 에

 붙입니다. 그리고 각 텍스트 오브젝트를 필드에 할당해줍니다.

using UnityEngine;

public class GUIManager : MonoBehaviour {

	public GUIText gameOverText, instructionsText, runnerText;
}
game over instructionstitlemanagergui
GUI Text.
 Start 메서드에서는 gameOverText 를 enabled를 false로 설정하여 보이지 않게 설정하고, Update 메서드에서는 점프 버튼을 누를시 game-start event 상태로 변경되게 됩니다.
	void Start () {
		gameOverText.enabled = false;
	}

	void Update () {
		if(Input.GetButtonDown("Jump")){
			GameEventManager.TriggerGameStart();
		}
	}
Now it's time to include a method to handle our game-start event, let's appropriately name itGameStart. 우리는 이 메서드를 사용해서 text를 없어지게 할것이다. Update 메서드에서도 더이상 호출이 되지 않습니다.
	private void GameStart () {
		gameOverText.enabled = false;
		instructionsText.enabled = false;
		runnerText.enabled = false;
		enabled = false;
	}
마지막 단계에서는 GameStart 메서드를 우리의 매니저 클래스에 더해줍니다.
	void Start () {
		GameEventManager.GameStart += GameStart;
		gameOverText.enabled = false;
	}





Trackback 0 And Comment 0