Contents
접기
728x90
Script코드 확인
script를 처음 생성했을 때 코드이다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Rtan : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
}
}
좌우로 이동할 경우 Rtan오브젝트 Transform의 Position x값을 계속 변화시켜야 한다.
코드를 보면 Start는 딱 한번만 호출이되고,
Update의 경우 여러번 연산(프레임마다 한 번 호출)이 이루어진다.
💡따라서, Update에 코드를 작성하여야 한다.
Script에서 Transform Position x값에 접근하는 법
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Rtan : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
Application.targetFrameRate = 60; //1초에 60번만 계산
}
// Update is called once per frame
void Update()
{
//transform.position += new Vector3(1f, 0, 0); //x,y,z값
transform.position += Vector3.right; //오른쪽으로 가는 x값이 1인 벡터 간소화
}
}
아까 Update에 x값을 더해주는 코드를 작성해 보았다.
코드를 보면 script에서 transform postion의 x값에 접근하기 위해 Vector를 사용한 것을 확인할 수 있다.
이를 간략하게 Vector3.right(Vector3(1f,0,0)과 동일)로 표현할 수 있다.
( *f는 소숫점을 위해 붙여주었다. 참고: [C#] 자료형 )
하지만 캐릭터가 움직이는 속도는 컴퓨터 사양에 따라 달라질 수 있다.
그래서 어떤 기기든 같은 속도로 이동할 수 있도록 설정해주어야 한다.
Start에 모든 프레임의 타겟을 동일하게 설정해주는 코드를 추가하였다.
void Start()
{
Application.targetFrameRate = 60; //1초에 60번만 계산
}
이렇게 하면 모든 기기들이 1초에 설정된 프레임 값만큼만 계산할 수 있게끔 맞춰준다.
📌 속도를 조절하려면 이 Vector3에 곱셈을 해주면 된다.
transform.position += Vector3.right * 0.05f; //(1,0,0)인 각각의 자리에 0.05를 곱해줌
위에 코드를 실행시키면 이렇게 캐릭터가 오른쪽(x값이 0.05씩 증가하는 중)으로 가게된다.
잘가...
이제 캐릭터가 화면밖으로 탈주하지 못하도록 다음 게시글에서 코드를 추가해보도록 하자.
728x90
'GameDevelop > Unity기초쌓기' 카테고리의 다른 글
[Unity] 마우스 왼쪽 클릭시 캐릭터 방향전환 renderer.flipX, GetMouseButtonDown (0) | 2025.03.25 |
---|---|
[Unity] 캐릭터 방향 전환, 플립(Flip) (0) | 2025.03.25 |
[Unity] 스크립트 생성 (0) | 2025.03.20 |
[Unity] 애니메이션 (0) | 2025.03.19 |
[Unity] 모바일 크기 및 배경 설정 (0) | 2025.03.16 |