본문 바로가기

메모장/스네이크 게임

스네이크 게임 - 조작키 코드

스네이크 게임에 필요한 기본적인 디자인과 코드는
아래 링크를 참고하여 틀을 잡았다.
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);
    }
}

 

궁금하신 점은 밑에 댓글 바랍니다