안녕하세요

프로그램 과정에서 막혔던 문제들에 대한 해결책 정리


페이지 목록

2025년 11월 22일 토요일

[유니티][Unity] floatingJoystick값 가져와서 케릭터 움직이기

 https://www.blogger.com/blog/post/edit/4269806382658593631/6192122025302748439

에서 가져와서 Canvas아래에 넣은 floating Joystick 이 움직이는대로 케릭터가 움직이게 해보자.


움직이고자 하는 케릭터의 controller.cs 에 아래와같이 선언해준다.

public FloatingJoystick floatingjoystick;


여기서 중요한 점이 이렇게 선언한 floatingjoystick에 주인공 Object에 연결된 controller Inspector 창으로 이동한다.

 그러면 public이기에 Floatingjoystick none 이라고 적혀 있을 것이다. 여기에 Floating Joystick prefab을 넣어주면 연동이 된다.

 이 후 사용하려면 움직이는 값에 넣어주면 된다. 

 아래와 같이 

float horizontalValue = floatingjoystick.Horizontal;

float verticalValue = floatingjoystick.Vertical;

이렇게 하면 floatingjoystick에 prefab이 연동되었으니 그 조이스틱이 움직이는 Horizontal, Vertical 값을 가져오게 된다.

그리고 속도 조절을 위해 아래와 같이 조치한다.

Vector2 pos2 = new Vector2(horizontalValue, verticalValue);

pos2 = pos2 * 0.1f * Time.fixedDeltaTime;

여기서 fixedDeltaTime은 프레임이 변해도 동일한 속도를 가지기 위해 넣어준다.

this.rigid2D.MovePosition(this.rigid2D.position + pos2);

this.transform.localScale = new Vector3(scaleX, 0.5f, 1);

이렇게 하면 원하는 데로 동작하는 것을 볼 수 있다.


참조: https://blog.naver.com/shookit/223258675307

댓글 없음:

댓글 쓰기