스네이크 게임에 필요한 기본적인 디자인과 코드는
아래 링크를 참고하여 틀을 잡았다.
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 * Vector2.right;
private float size = 2;
// Snake Direction Var
float h; // Horizontal
float v; // Vertical
bool isHorizonMove;
void Start()
{
InvokeRepeating("Move", 0.3f, 0.3f);
}
void Update()
{
// Move Value
h = Input.GetAxisRaw("Horizontal");
v = Input.GetAxisRaw("Vertical");
// Check Button Down & Up
bool hDown = Input.GetButtonDown("Horizontal");
bool vDown = Input.GetButtonDown("Vertical");
bool hUp = Input.GetButtonUp("Horizontal");
bool vUp = Input.GetButtonUp("Vertical");
// Check Horizontal Move
if (hDown)
isHorizonMove = true;
else if (vDown)
isHorizonMove = false;
else if (hUp || vUp)
isHorizonMove = (h != 0);
// Determine Direction
if (h != 0 || v != 0)
dir = isHorizonMove ? new Vector2(h, 0) : new Vector2(0, v);
}
void Move()
{
transform.Translate(size * dir);
}
}
궁금하신 점은 밑에 댓글 바랍니다
'메모장 > 스네이크 게임' 카테고리의 다른 글
스네이크 게임 - 메인 메뉴와 일시 정지 (0) | 2021.01.18 |
---|---|
스네이크 게임 - 점수 카운트 (0) | 2021.01.17 |
스네이크 게임 - 스네이크 길이 증가 (0) | 2021.01.16 |
스네이크 게임 - 음식 랜덤 생성 (2) | 2021.01.15 |
스네이크 게임 - 조작키 코드 보완 (0) | 2021.01.14 |