반응형
유니티에서 키보드 상하좌우 화살표 키를 이용해서 오브젝트를 상하좌우로 이동하는 코드입니다.
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")를 이용한 키보드 다루기는 아래 링크에 있습니다.
반응형
'유니티_unity' 카테고리의 다른 글
(유니티) 버튼을 클릭하면 TextMeshPro에 1부터 100까지 합을 출력해 보자 (0) | 2024.03.30 |
---|---|
(유니티) 사운드(Sound. 오디오, 소리) 출력하기 (0) | 2024.03.30 |
(유니티) 2D 이미지 회전시키기 (0) | 2024.03.23 |
(유니티) [유니티 교과서] 실습용 파일 (0) | 2024.03.19 |
(유니티) 오브젝트 좌우 반전 transform.localScale GetComponent<SpriteRenderer> (0) | 2024.02.28 |