유니티_unity

(유니티) Input.GetKey(): 키보드로 오브젝트 상하좌우 움직이기

코딩ABC 2024. 3. 25. 19:01
반응형

유니티에서 키보드 상하좌우 화살표 키를 이용해서 오브젝트를 상하좌우로 이동하는 코드입니다.

Rocketship.png

 

using UnityEngine;

public class RocketController : MonoBehaviour
{
    public float speed = 1.0f;
    
    // Update is called once per frame
    void Update()
    {
        float x = 0f;
        float y = 0f;

        if(Input.GetKey("right"))
            x = 1f;
        else if (Input.GetKey("left"))
            x = -1f;
        else if (Input.GetKey("up"))
            y = 1f;
        else if (Input.GetKey("down"))
            y = -1f;

        Vector3 dir = new Vector3(x, y, 0);
        transform.position += dir * speed * Time.deltaTime;
    }
}

 

위 코드는 아래와 같이 작성해도 비슷하게 움직입니다.

Time.deltaTime을 이용하지 않고 Application.targetFrameRate를 이용했습니다.

using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;

public class RocketController : MonoBehaviour
{
    public float speed = 1.0f;
    
    // Start is called before the first frame update
    void Start()
    {
        Application.targetFrameRate = 60;
    }

    // Update is called once per frame
    void Update()
    {
        float x = 0f;
        float y = 0f;

        if(Input.GetKey("right"))
            x = 1f;
        else if (Input.GetKey("left"))
            x = -1f;
        else if (Input.GetKey("up"))
            y = 1f;
        else if (Input.GetKey("down"))
            y = -1f;

        Vector3 dir = new Vector3(x/60, y/60, 0);
        //transform.position += dir * speed * Time.deltaTime;
        transform.position += dir * speed;
    }
}

 

 

 

 


 

Input.GetAxisRaw("Horizontal")를 이용한 키보드 다루기는 아래 링크에 있습니다.

https://coding-abc.kr/281

반응형