공부방
게임 오버 본문
- 게임 오버된 새로운 Scene을 만들어야됨.
- 파일->New Scene->Basic 2D
- 새로 만든 Scene을 지금 게임 플레이 Scene이 있는 곳에 넣어줘야됨.
- Hierarchy의 제목 부분 오른쪽 마우스 클릭 Save Scene As->지금 PlayGameScene이 있는 곳에 새로운 이름으로 저장해줌.
- UI를 넣어주기 위해 마우스 우클릭 후 Canvas 만들어줌.(UI->Canvas)
- 새로운 게임 오버 페이지에 배경을 넣어주기 위해 Canvas 하위 객체로 Panel을 만들어줌.
- 그 후 Source Image에 원래 Asset에 있던 배경 이미지를 드래그 앤 드랍하여 배경 이미지를 넣어줌
- Game Over라는 이미지를 넣어주기 위해 Panel에 오른쪽 마우스를 눌러 UI-> Image를 고른다.
- 똑같이 Source Image에 원래 Asset에 있던 Game Over 이미지를 드래그 앤 드랍하여 이미지를 넣어줌.
- 그림이 찌그러지게 나온다면
Preserve Aspect에 체크 표시를 해주면 비율에 맞게 이미지가 나오도록 해준다.
11.
전 글에서 했듯이 Anchor값을 조절하여 Game Over 이미지의 위치를 조절한다.
12. Score와 Best Score도 위의 사진처럼 나오도록 하기 위해 Panel에 오른쪽 마우스 후 Text를 만들어준다. 그리고 Anchor와 폰트를 조절하여 위의 사진처럼 나오도록 해준다.
13. 버튼을 나오게 하기 위해 Panel의 오른쪽 마우스 후 Button을 만들어준다. 똑같이 Source Image에 Asset에 있던 버튼 이미지를 넣어준다. Preserve aspect를 선택해 이미지가 깨지지 않게 해준다.
14. 버튼에는 기본적으로 text가 같이 들어가기 때문에 버튼 안에 있는 텍스트를 없애준다.
15. 똑같이 Anchor를 조절하여 위치를 맞춰준다.
파이프에 부딪히면 게임 오버로 넘어가기
using UnityEngine.SceneManagement;
private void OnCollisionEnter2D(Collision2D collision)
//OnCollisionEnter2D : 부딪히는 이벤트에 사용되는 메소드
{
SceneManager.LoadScene("GameOverScene");
// LoadScene : 이 이름의 Scene으로 이동
}
파일->Build Setting
위에 GameOverScene을 넣어줘야된다. 따라서 Scenes안에 있던 GameOverScene을 위로 드래그 앤 드랍하여 넣어줘야된다.
그럼 이제 파이프에 부딪혔을 때 게임 오버 화면으로 넘어간다.
재시작 버튼을 눌러 게임 재시작
다시 GameOverScene으로 이동한 후 새로운 객체를 만들어준 후 새로운 컴포넌트를 추가.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class Replay : MonoBehaviour
{
public void ReplayGame()
{
SceneManager.LoadScene("PlayScene");
}
}
만든 컴포넌트를 버튼을 클릭했을 때 넣어줘야됨.
On Click부분에 만든 객체인 Replay를 드래그 앤 드랍 후 No function->Replay->ReplayGame() 하면 재시작 버튼을 눌렀을 때 게임이 재시작된다.