728x90
반응형

유니티 41

유니런 체력 표시하기

using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using UnityEngine.SceneManagement; public class GameManager : MonoBehaviour { // 싱글턴 => 공유하는 변수 public static GameManager instance; // 스코어 관리, 게임오버 관리 => 플레이어 사망 // 재시작 관리 => 마우스 클릭 => 재시작 [SerializeField] GameObject gameover; [SerializeField] Text scoreText; public Text hpText; public int hp = 3..

유니런(7) - 씬 전환

프로젝트에서 씬 폴더를 추가해줍니다. 메인씬을 씬 폴더에 넣고 씬을 두 개 추가해줍니다. 인트로 씬으로 넘어가 버튼을 추가해줍니다. 먼저 텍스트를 이미지에 상속시키고, 텍스트에 그림자 컴포넌트를 추가해줍니다. 버튼 1,2도 이미지에 상속시킨 뒤 위치를 조정해주고 텍스트를 작성합니다. using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; using UnityEngine.UI; public class SceneChange : MonoBehaviour { public void ChangeScene() { SceneManager.LoadScene("Main"); ..

AA(4) - 플레이어 회피

애니메이터에 회피를 추가해줍니다. 닷지 파타메터는 트리거로 해줍니다. 애니메이터 설정이 끝났으니 스크립트를 작성해줍니다. using System.Collections; using System.Collections.Generic; using UnityEngine; public class Player : MonoBehaviour { public float speed; float hAxis; float vAxis; bool wDown; bool jDown; bool isJump; bool isDodge; Vector3 moveVec; Rigidbody rigid; Animator anim; void Awake() { rigid = GetComponent(); anim = GetComponentInChildre..

AA(1) - 플레이어 이동

https://youtu.be/qORoTfF0Nx0 에셋 툴과 강의는 위 링크 채널의 강의를 참고했습니다. 큐브를 이용해 바닥과 벽을 만들어줍니다. 시야를 가리는 벽은 매쉬랜더러를 꺼서 충돌은 하나 보이지 않게 해줍니다. 바닥과 벽면에 적용할 매터리얼을 만들고 적용시킵니다. 색을 변경하고 타일 갯수를 늘려줍니다. 프리팹에서 플레이어를 가져와줍니다. 리지드바디와 캡슐콜라이더, 빈 스크립트를 넣어줍니다. 캡슐콜라이더 크기를 조정해줍니다. using System.Collections; using System.Collections.Generic; using UnityEngine; public class Player : MonoBehaviour { public float speed; float hAxis; flo..

유니런(6) - 발판 반복 생성과 게임 완성

Platform 프리팹을 배치하고 Sorting Layer을 조정합니다. 하이어라키창의 Platform 게임 오브젝트에 Platform 스크립트를 추가하고 플레이어가 Platform을 밟으면 점수가 증가하도록 스크립트를 수정합니다. using UnityEngine; // 발판으로서 필요한 동작을 담은 스크립트 public class Platform : MonoBehaviour { public GameObject[] obstacles; // 장애물 오브젝트들 private bool stepped = false; // 플레이어 캐릭터가 밟았었는가 // 컴포넌트가 활성화될때 마다 매번 실행되는 메서드 private void OnEnable() { //밟힘 상태를 리셋 stepped = false; //장애물의..

유니런(5) - 게임 매니저

게임 매니저 오브젝트를 생성한 뒤 스크립트를 작성합니다. using UnityEngine; using UnityEngine.SceneManagement; using UnityEngine.UI; // 게임 오버 상태를 표현하고, 게임 점수와 UI를 관리하는 게임 매니저 // 씬에는 단 하나의 게임 매니저만 존재할 수 있다. public class GameManager : MonoBehaviour { public static GameManager instance; // 싱글톤을 할당할 전역 변수 public bool isGameover = false; // 게임 오버 상태 public Text scoreText; // 점수를 출력할 UI 텍스트 public GameObject gameoverUI; // 게임..

유니런(4) - UI

화면 크기에 따른 스케일 모드를 사용해 UI를 배치하겠습니다. 캔버스를 만들고 설정합니다. 이제 640x360 해상도에서의 UI 배치만 신경 쓰면 됩니다. 해상도가 변할경우 변한 해상도의 비율에 맞춰 UI 크기 또한 변경됩니다. Score Text를 추가합니다. Gameover Text도 추가합니다. Restart Text도 만든 뒤 Gameover Text의 자식으로 둡니다. Gameover Text는 특정 상황(캐릭터가 죽었을 때)만 나오기 때문에 비활성화해둡니다.

유니런(3) - 배경 스크롤링

유니런에서는 캐릭터가 움직이는 것이 아니라 배경과 발판이 움직이는 형식으로 게임이 진행됩니다. 사용자가 보기에 플레이어 캐릭터는 계속 뛰는 것처럼 보이지만 실제 캐릭터의 x축 위치는 고정되어있으며, 배경과 발판이 플레이어를 향해 다가옵니다. 먼저 배경으로 하늘을 추가하겠습니다. 에셋의 Sky를 하이어라키로 드래그 드롭해주고 메인 카메라 컬러를 변경해줍니다. 배경 오브젝트때문에 캐릭터가 가려져있습니다. 정렬 레이어를 추가해줍니다. 추가한 정렬 레이어를 오브젝트들에 할당해줍니다. Sky 오브젝트를 백그라운드로, 플레이어와 발판을 포그라운드로 변경해줍니다. 캐릭터와 배경, 발판이 원하는 대로 구현됐습니다. 이제 배경과 발판이 움직이게 하기 위해 ScrollingObject 스크립트를 작성하겠습니다. using..

728x90
반응형