본문 바로가기

게임 개발

스네이크 게임 - 빌드 및 오브젝트 앵커 변경 아래 링크의 영상을 참고하여 안드로이드 플랫폼으로 빌드를 해보았다. https://www.youtube.com/watch?v=IJxc-ANxO-w 하지만 기존에 제작한 대로 Build를 해보니 게임 화면에서 버튼들이 짤리는 현상이 발생했다. 기존에는 동시에 숨기거나 보이게 하는 버튼들을 빈 오브젝트에 묶어서 정리하였는데 이 방식으로는 문제가 생기기에 묶지 않는 방식을 택하였더니 해결되었다. GameEnd 오브젝트 같은 경우는 화면 가운데에 뜨는 것이라 아무런 문제가 없기에 수정하지 않았다. "일시정지" 버튼과 좌우에 있는 이동키들은 앵커를 사용하여 각각 좌측 상단, 좌측 하단, 우측 하단에 고정한 뒤 일정 간격을 두도록 설정하였다. using System.Collections; using System.C.. 더보기
스네이크 게임 - 해상도 변경 아래 영상을 참고하여 기존의 PC 플랫폼으로 제작하던 게임을 안드로이드 플랫폼으로 변경하여 해상도 수정 작업을 진행하였다. (해상도 : 1920x1080) https;//www.youtube.com/watch?v=uQZFawccnNg&t=31s 궁금하신 점은 밑에 댓글 바랍니다 더보기
스네이크 게임 - 게임 클리어 판정 스네이크가 음식을 먹어서 얻은 점수의 총합이 일정 수치를 넘으면 게임 클리어 판정이 되도록 코드를 추가하였다. 게임 클리어가 되었을 경우, 게임 오버와 마찬가지로 게임을 재시작하거나 메인 메뉴로 돌아갈 수 있도록 구성하였다. 이전에 제작한 게임 오버 오브젝트에서 텍스트만 수정하는 방식으로 진행하였다. (+게임 클리어 또는 오버 상태에서 "일시정지" 버튼이 클릭되는 현상이 발생하여 수정함) 추가적으로 조금 더 체계적인 게임 시스템을 위하여 "Snake" 스크립트에서 점수를 계산하던 것을 "GameManager" 스크립트에서 수행하도록 변경함으로써 "Snake" 스크립트는 스네이크 관련 모션을, "GameManager" 스크립트는 전반적인 게임 관리를 담당하도록 해주었다. using System.Collec.. 더보기
스네이크 게임 - 게임 오버 판정 스네이크 머리가 벽에 닿이거나 꼬리에 닿인 경우, 게임 오버 판정이 되도록 코드를 추가하였다. 게임 오버가 되었을 경우, 게임을 재시작하거나 메인 메뉴로 돌아갈 수 있도록 구성하였고 그에 대한 코드를 GameManager에 작성하여 관리하였다. "재시도" 버튼을 클릭하면 게임이 초기화된 상태로 다시 시작하고 "메인으로" 버튼을 클릭하면 메인 화면으로 이동한다. using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using UnityEngine.SceneManagement; public class GameManager : MonoBehaviour { // for Setting p.. 더보기
스네이크 게임 - 음식 랜덤 생성 음식 이미지와 기본적인 코드는 아래 링크를 참고하여 작성하였다. https://noobtuts.com/unity/2d-snake-game 위 링크에 있는 코드를 토대로 작성하였더니 시간이 지날수록 음식의 개수가 무작위로 생성되는 문제가 발생하였다. 이는 유튜버 "고박사의 유니티 노트"님의 영상을 참고하여 Instantiate() 함수를 이해하고 Object 추가 작업을 함으로써 해결하였다. https://www.youtube.com/watch?v=IlQ1vLT2tPA&t=145s using System.Collections; using System.Collections.Generic; using UnityEngine; public class SpawnFood : MonoBehaviour { // Food.. 더보기
스네이크 게임 - 조작키 코드 보완 유튜버 "골드메탈"님의 영상을 참고하여 모바일 게임용 조작키를 추가하였고 조작키에 대한 코드를 보완하였다. https://www.youtube.com/watch?v=IJxc-ANxO-w&t=1204s 모바일용 컨트롤러를 추가한 후 해당 컨트롤러용 조작 코드를 작성하였다. 기존의 키보드를 통한 조작도 가능하도록 되어 있다. using System.Collections; using System.Collections.Generic; using UnityEngine; public class SnakeMove : MonoBehaviour { // Snake Movement Var Vector2 dir = 1 * Vector2.right; private float size = 1; // Snake Direction.. 더보기
스네이크 게임 - 조작키 코드 스네이크 게임에 필요한 기본적인 디자인과 코드는 아래 링크를 참고하여 틀을 잡았다. https://noobtuts.com/unity/2d-snake-game 그리고 스네이크 게임에서의 핵심인 스네이크를 조작하는 코드의 세부적인 조건은 유튜버 "골드메탈"님의 영상을 참고하였다. https://www.youtube.com/watch?v=bZVa6C6vRBQ&t=290s 현재는 모바일용이 아닌 키보드를 통해서 조작이 가능하게 되어 있다. using System.Collections; using System.Collections.Generic; using UnityEngine; public class move : MonoBehaviour { // Snake Movement Var Vector2 dir = 2 *.. 더보기