728x90
반응형
오늘은 드디어 움직여 볼건데요,
저번에 설명할때 쓰였던 Move 스크립트로 들어가 줍니다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Move : MonoBehaviour
{
Rigidbody2D rigid;
public float Movesp;
Vector3 moove;
// Start is called before the first frame update
void Start()
{
rigid = gameObject.GetComponent<Rigidbody2D> ();
}
// Update is called once per frame
void FixedUpdate()
{
PMove();
}
void PMove()
{
Vector3 movevelocity = Vector3.zero;
if (Input.GetAxisRaw("Horizontal") < 0)
{
movevelocity = Vector3.left;
}
else if (Input.GetAxisRaw("Horizontal") > 0)
{
movevelocity = Vector3.right;
}
transform.position += movevelocity * Movesp * 4f *Time.deltaTime;
}
}
예.... 길죠? 이렇게 써주심 됩니다. 이걸 복붙 해도 상관은 없습니다만 여러분의 실력을 늘릴려면 혼자 입력해 보면서 알아가는 것도 중요하다고 생각합니다. 설명을 좀 해보자면, Input.GetAxisRaw("Horizontal") 은 유니티 자체 내장 기능입니다. A와 D 를 비교해서 수평 이동이죠. 그래서 Horizontal 입니다. A가 눌리면 Horizontal은 음수가 되고, D 가 눌리면 양수가 됩니다. 이 값을 비교하여 벡터를 이용하면 수직 이동을 쉽게 할수 있죠.
이제 유니티로 돌아와서 스크립트를 끌어서 "예시"(빨간공)에 넣어줍니다.
근데 실행시켜보면 작동이 안됩니다. 왜 그럴까요? 일단 저희가 사용한 Movesp 가 0으로 설정되있기 때문이죠. 우리의 "예시"
오브젝트를 누르면 인스펙터 창에 여러가지가 뜨는데 밑으로 내리면 Move(Script)라고 써져있는 컴포넌트에 자세히 보시면 Movesp [0] (캡처도구가 고장나서ㅠㅠㅠ)가 있습니다. 이걸 50 정도로 바꿔주고 실행을 눌러주면 안됩니다. 리지드 바디가 없군요.... 다음시간엔? 맞습니다. 리지드 바디에 대해 써보겠습니다.
'게임 개발' 카테고리의 다른 글
[유니티 강좌] 7.유니티의 충돌감지와 리지드바디 (2) | 2022.04.02 |
---|---|
[유니티 강좌]5.스크립트의 구성을 알아보자! (0) | 2022.02.27 |
[유니티 강좌]4. 유니티 C# 스크립트의 연동 (0) | 2022.02.26 |
[유니티 강좌]3.VsCode 설치 (0) | 2022.02.24 |
[유니티 강좌]2. 게임 오브젝트 (0) | 2022.02.23 |