유니티 예제 6

5-7 유니티로 화살 피하기 게임 만들기(심화3)

우여 곡절 끝에, 많은 버그를 만나고, 코드를 어떻게 구성할지 고민하다가. 씬 전환 시 데이터값을 어떻게 넘기는가에 대한 고민을 하게 되었다. GameScene에서 점수를 획득했는데 이것을 어떻게 다른 씬에서 이용할 수 있을까? 오브젝트를 남기는 것이 아닌, 값만 남기면 되는데 어떻게 할 수 있을까? 씬 전환 시에 오브젝트를 어떻게 유지할 것인가? 위와 같은 고민을 하게 되었고, DontDestroyOnload(Gameobject) 를 보고... 헷갈리기 시작했다.. 별첨 1. 화면 겹침 해결 더보기 분명히 간단히 해결해서 글쓰겠지 하셨겠지만.. (4시간 삽질했습니다.. 구글링 해도 안나오고.. 코드로 오브젝트 구분하고.. 늅늅에겐 너무 힘든 과정) 대체 이거 설명해둔데가 없어.. 독학은.. 어디서 배워..

5-5 유니티로 화살 피하기 게임 만들기(심화1)

이전 단계에서 화살에 맞으면 HP가 닳는 것 까지 구현을 했는데, 에셋 스토어에서 무료 에셋을 다운로드하고, 게임에 추가하는 과정을 추가할 예정이다. 나의 경우 HP up 에 사용될 하트를 구하기 위해서 픽셀로 된 무료 에셋을 찾았다. 보기 더보기 https://assetstore.unity.com/packages/2d/gui/icons/2d-pixel-item-asset-pack-99645 내 에셋에 추가한 다음 별첨 1. 하트 에셋을 추가하고 하트를 먹으면 hp가 차는 것 구현하기 어떻게 해야 할지 감이 안온다면, 이전 글을 다시 읽어보기 바랍니다. GameDirector에 IncreaseHP() 메서드를 생성해서 하트를 먹으면 HPGauge의 fillAmount의 값을 증가하게끔 구현 게임이 너무 ..

5-4 유니티로 화살 피하기 게임 만들기

5.8 UI 표시하기 5.8.1 UI를 표시하고 갱신하는 감독 만들기 UI 부품을 Scene 뷰에 배치한다 UI를 갱신하는 감독 스크립트를 작성한다. 빈 오브젝트를 만들고 작성한 스크립트를 적용한다. 5.8.2 HP 게이지 배치하기 ※ 앵커 포인트 설정 화면의 크기가 바뀌어도 화면 오른쪽 위에 HP게이지가 표시되도록 앵커 포인트를 변경 앵커 포인트 : 화면 크기가 바뀔 때 어디를 원점으로 해서 UI 부품 좌표를 다시 계산하는가? 앵커 포인트를 적절히 설정하면 실행하는 기기의 화면 크기에 의존하지 않는 UI를 만들 수 있음 ※ HP 게이지 줄여 나가기 HP 게이지를 줄이려면 UI 오브젝트의 Image에서 제공하는 Fill 기능을 사용한다. Fill Amount 변수 값을 바꾸면 이미지 표시 영역을 줄이거나..

5-2 유니티로 화살 피하기 게임 만들기

5.4 키를 조작해 플레이어 움직이기 5.4.1 플레이어 스크립트 작성하기 PlayerController using System.Collections; using System.Collections.Generic; using UnityEngine; public class PlayerController : MonoBehaviour { // Start is called before the first frame update void Start() { Application.targetFrameRate = 60; } // Update is called once per frame void Update() { // 왼쪽 화살표가 눌린 경우 if (Input.GetKeyDown(KeyCode.LeftArrow)) { t..

5-1 유니티로 화살 피하기 게임 만들기

5.1.1 게임 기획하기 플레이어를 움직여 떨어지는 화살을 피하는 게임 플레이어 떨어지는 오브젝트 이동하는 동작 버튼 5.1.2 게임 리소스 생각하기 1단계 : 화면에 놓일 오브젝트를 모두 나열 2단계 : 오브젝트를 움직일 수 있는 컨트롤러 스크립트 정하기 3단계 : 오브젝트를 자동으로 생성할 수 있도록 제너레이터 스크립스 정하기 4단계 : UI를 갱신할 수 있도록 감독 스크립트를 준비 5단계 : 스크립트를 만드는 흐름을 생각 ※ 움직이는 오브젝트 고르기 필요한 컨트롤러 스크립트 플레이어 컨트롤러 화살 컨트롤러 필요한 제네레이터 스크립트 화살 제너레이터 필요한 감독 스크립트 UI를 갱신 할 수 있는 감독 스크립트 구성 순서 컨트롤러 스크립트 -> 제너레이터 스크립트 -> 감독스크립트 각 게임 오브젝트는 ..

3.4 룰렛 스크립트 작성하기

3.4.1 스크립트의 역할 클릭하면 룰렛을 회전시키되 시간이 흐르면 룰렛의 회전 속도를 점점 줄여서 멈추도록 하는 구조로 작성 룰렛을 회전시키는 를 작성 클릭하면 일정한 속도로 회전한다는 스크립트 3.4.2 룰렛 스크립트 작성하기 ※ 클릭하면 일정 속도로 회전하는 스크립트 using System.Collections; using System.Collections.Generic; using UnityEngine; public class RouletteController : MonoBehaviour { float rotSpeed = 0; void Start() { // 프레임레이트를 60으로 고정한다. Application.targetFrameRate = 60; } // Update is called onc..