목록유니티 (34)
Prosto
따라하는 유니티 2D 프로젝트ⓐ 강좌 열 번째 시간입니다. 이번에 다룰 내용은 최고점수 저장과 점프 대기 시간 중에도 카운트 할 수 있도록 변경, 또 점프 수정(약간 바꾼 중력식), 보너스 포인트 아이템 추가입니다. (Text Color 수정에 대한 부분도 마지막에 넣었습니다.) 이번 시간에 PlayerPrefs으로 최고점수 저장까지가 가장 기본 틀 개념의 부분이고, 그 후의 점프 수정이나 보너스 스코어 아이템은 게임성을 높이는 부가적인 부분입니다. (최고점수 저장, 스코어 아이템 모두 복잡하지 않게 사용할 수 있도록 작성했습니다.) 그럼 시작하겠습니다. 가장 먼저 저번에 작업했던 프로젝트를 실행합니다. 그리고 순서대로 직접 해보며 따라오시면 됩니다. 일단 BEST SCORE 처리를 해볼까요? Score..
따라하는 유니티 2D 프로젝트ⓐ 강좌 아홉 번째 시간입니다. 이번에 다룰 내용은 게임오버 처리와 그에 따른 UI 처리를 해보겠습니다. (Tag 순서와 충돌 시 TagCompare 부분도 있습니다.) 이번 시간을 통해 게임의 시작부터 끝까지가 완성되었습니다. (앞으로는 BestScore, 추가적인 게임성을 높이는 부분 등이 남았죠.) 그럼 시작하겠습니다. 가장 먼저 저번에 작업했던 프로젝트를 실행합니다. 그리고 순서대로 직접 해보며 따라오시면 됩니다. 우리가 지금부터 할 작업은 볼과 장애물의 충돌에 따라 점수를 표시해주고 게임 종료를 알려주는 작업입니다. 먼저 충돌 처리, 우리가 저번에 기본적인 부분에 대해 처리한 부분을 확인해볼까요? Scripts - Obstacle - ObstacleInfo.cs를 열..
유니티에서 화면에 클릭 혹은 터치를 주는 경우 UI로 구성된 부분을 클릭해도 UI 버튼 처리와 클릭 처리를 같이해주게 됩니다. 이때, UI를 클릭(터치)하는 경우에는 게임 화면을 클릭한 처리에서 제외해주고 싶다면 이 글에서 소개하는 내용을 보시면 됩니다. 게임에서 UI 부분을 눌렀더니 점프를 한다? (점프하면 안 되는데... 이런 경우에는?) 이런 경우 터치 혹은 클릭된 부분이 게임 화면인지, 아니면 UI인지 확인하여 처리해주면 됩니다. 그 기능을 사용하기 위해선 먼저 클릭/터치 처리하는 해당 스크립트에 추가로 using해줍니다. using UnityEngine.EventSystems; //UI 클릭시 터치 이벤트 발생 방지. (여기서 EventSystems를 사용하기 위해선 일단 UI는 만들었어야 합니..
기본적으로 유니티를 하면서 쓰는 기능은 클릭입니다. if (Input.GetMouseButtonDown(0)) //마우스 좌측 버튼을 누름. { //터치 시 내용 처리.. } 이렇게 말이죠. Input.GetMouseButtonDown(0) 혹은 (1)을 통하여 마우스 클릭을 받고 그에 맞는 처리를 해주죠. 그렇지만 우리가 모바일 게임을 만들고 있다면 클릭이 아닌 터치를 써야겠죠? (클릭은 pc로 테스트할 때 쓰고요.) 유니티에서 클릭이 아닌 터치를 쓰는 방법을 알아볼까요? 그렇지만 잠깐 터치를 사용하기에 앞서 생각해볼게 있습니다. 마우스는 마우스가 하나라면.. 클릭이 일어나면 동시에 여러 개가 일어날 수 없들지만, 터치의 경우 동시에도 여러 손가락으로 누를 수 있으니 마우스와 달리 여러 개의 터치를 받..
따라하는 유니티 2D 프로젝트ⓐ 강좌 여덟 번째 시간입니다. 이번에 다룰 내용은 추가적인 UI 관련된 작업과 추가적인 부분들, 일시정지와 계속하기, 재시작, 게임종료에 대한 부분들을 다룰 것입니다. 소팅 레이어(레이어 순서 정렬) 등의 내용도 중간에 포함되어 있습니다.. 그럼 시작하겠습니다. 가장 먼저 저번에 작업했던 프로젝트를 실행합니다. 그리고 순서대로 직접 해보며 따라오시면 됩니다. 먼저 일시정지 버튼을 추가하기 위하여 Canvas - NormalUI를 선택합니다. NormalUI에서 마우스 우측 클릭을 한 후 UI - Button 순으로 선택합니다. Button이 생성되면 Inspector창에서 Anchor Presets를 top/right로 선택해줍니다. 그리고 pos와 width,height도..
따라하는 유니티 2D 프로젝트ⓐ 강좌 일곱 번째 시간입니다. 이번에 다룰 내용은 애니메이션(애니메이터)에 대한 두 번째 시간입니다. 이번에는 애니메이션 추가도 해보고 기존의 애니메이션을 수정하는 방법과 제거도 보겠습니다. *이번 부분은 '애니메이션-2'이기도 합니다. 그럼 시작하겠습니다. 가장 먼저 저번에 작업했던 프로젝트를 실행합니다. 그리고 순서대로 직접 해보며 따라오시면 됩니다. 저번에 작업했던 애니메이션을 봅시다. 이때 특정 애니메이션을 보고(수정하고) 싶다면 해당되는 오브젝트를 선택한 후 Animation 패널을 확인해보면 됩니다.(Animator도 마찬가지) Hierarchy 탭에서 Ball을 선택한 후 Animation에 들어가세요. 기존에 점프에 반응하는 시간이 너무 길었죠. (그리고 내려..
따라하는 유니티 2D 프로젝트ⓐ 강좌 여섯 번째 시간입니다. 이번에 다룰 내용은 애니메이션(애니메이터)에 대한 부분입니다만 애니메이션 부분을 스크린샷을 첨부하여 단계별로 하자니 내용이 너무 많아서 part1.2로 나눠서 올리겠습니다. *이번 부분은 '애니메이션-1'이기도 합니다. 그럼 시작하겠습니다. 가장 먼저 저번에 작업했던 프로젝트를 실행합니다. 그리고 순서대로 직접 해보며 따라오시면 됩니다. 먼저 우리가 만들어 뒀던 Ball을 Hierarchy 패널에서 선택합니다. Ball을 선택한 후 우측의 Inspector에 animator를 추가하는 작업을 합니다. (1. Ball 선택 이름 확인 - 2. Add Component 누름 - 3. anima 검색 - 4. 항목 중 Animator 선택) (인스펙..
따라하는 유니티 2D 프로젝트 강좌 다섯 번째 시간입니다. 이번에 다룰 내용은 스코어 부분입니다. 점수를 추가하여 현재 얻는 점수가 몇인지 표시하는 방법을 소개할 것입니다. 또, 점수를 표시할 때 단순하게 점수가 한번에 바뀌는 방법과 Lerp라는 기능을 이용하여 점수가 단계적으로 상승하는(카운팅) 방법을 해보도록 하겠습니다. 아직 점수 부분의 전부를 하지는 못 했지만, 가장 기본이 되는 부분을 구성하는 것이라 생각하시면 됩니다. 그럼 시작하겠습니다. 가장 먼저 저번에 작업했던 프로젝트를 실행합니다. 그리고 순서대로 직접 해보며 따라오시면 됩니다. Hierarchy 패널에서 우측버튼을 클릭하여 UI - Canvas를 선택하여 생성해줍니다. (Canvas가 생성된 모습입니다. 밑에 EventSystem도 함..
유니티를 이용하여 스마트폰 게임을 만들고 있을 때 간혹 프레임이 떨어지는 현상(프레임 드랍)을 목격한 적이 있었습니다. 게임 진행 중 한번씩 그러니 거슬리더군요. 그래서 왜 그이러는 것일까 하고 처음엔 제대로 확인하기 위하여 게임 화면에 프레임을 출력시키는 소스를 작성했습니다. (현재 예상프레임과 최악일 때의 프레임 표시.) (아래가 제가 만들어서 썼던 소스입니다.) using UnityEngine; using System.Collections; public class FrameChecker : MonoBehaviour { float deltaTime = 0.0f; GUIStyle style; Rect rect; float msec; float fps; float worstFps=100f; string ..
따라하는 유니티 2D 프로젝트 강좌 네 번째 시간입니다. 이번에 다룰 내용은 저번에 구현했던 배경이동에 이어 장애물을 업그레이드(강화)하는 작업을 하겠습니다. 지금 그대로라면 게임이 너무 단순하고 루즈하죠. 이러한 부분을 해결하기 위해서는 플레이어가 집중하며 플레이할 수 있게끔 요소를 배치해줘야 합니다. 그럼 시작하겠습니다. 가장 먼저 저번에 작업했던 프로젝트를 실행합니다. 그리고 순서대로 직접 해보며 따라오시면 됩니다. 장애물이 다양한 크기로 등장할 수 있도록 셋팅하는 작업을 먼저 하겠습니다. (이전 프로젝트를 실행한 모습 - 콘솔창은 제가 테스트로 실행을 해봤기에 충돌 문구가 있습니다.) 기존의 스크립트를 변경하기 위하여 Scripts - Map - MoveMap을 더블클릭하여 실행시켜 줍니다. Mo..