728x90
반응형
SMALL
1. 조이스틱 조작에 따른 캐릭터 이동을 구현하기 위해 조이스틱 오브젝트, 스크립트 생성
1) Joystick 오브젝트(이미지)의 자식오브젝트로 Center 오브젝트(빈오브젝트), Stick 오브젝트 생성(이미지)
2) Joystick 오브젝트에 Bl_Joystick 스크립트 컴포넌트하고, 조작할 캐릭터 오브젝트 할당해야 함
3) 캐릭터 오브젝트는 콜라이더, 리디지바디 컴포넌트, 캐릭터 스크립트 필요
2. 캐릭터 오브젝트랑 스크립트 생성
1) 캐릭터 스크립트에 반드시 bl_Joystick 조이스틱 오브젝트 저장할 변수 선언 후 인스펙터에 오브젝트 할당해야한다.
*** PC또는 모바일 사양에 따라 이동 속도가 다르지 않도록 구현하는 방법
Update함수가 아니라 FixedUpdate 함수안에 코드 작성하기
FixedUpdate()
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
using TMPro;
public class SCP000 : MonoBehaviour
{
public bl_Joystick joy;//조이스틱 오브젝트를 저장할 변수
public float speed; //조이스틱에 움직일 플레이피쉬의 속도
// Start is called before the first frame update
void Start()
{
speed=1;
}
// Update is called once per frame
void Update()
{
//스틱이 향해있는 방향을 저장
Vector3 dir = new Vector3(joy.Horizontal, joy.Vertical, 0);
//벡터의 방향은 유지하지만 크기를 1로 줄인다. 길이가 정규화되어 있지 않을 시 0으로 설정
dir.Normalize();
//오브젝트의 위치를 dir 방향으로 이동시킨다
transform.position += dir * speed * Time.deltaTime;
if (dir.x < 0) //만약 가로 방향이 - 라면 //역방향
{
transform.localScale = new Vector3(1f, 1f, 0f);
}
if (dir.x > 0) //만약 가로 방향이 + 라면 //정방향
{
transform.localScale = new Vector3(-1f, 1f, 0f);
}
}
}
(참고: 위 코드는 Update함수안에 작성되었으니 FixedUpdate로 수정하면 됨)
728x90
반응형
LIST
'▶ SCP전쟁 개발일지' 카테고리의 다른 글
#007 2D롤플레잉게임 배경 타일맵 제작 (0) | 2024.02.23 |
---|---|
#006 카메라 매니저 (캐릭터 이동 추적, 카메라 떨림 방지) (0) | 2024.02.23 |
#005 구글 플레이 스토어 게임 출시 방법 (개발자 콘솔) (0) | 2024.02.14 |
#004 구글 플레이 로그인 구현 (Google Play Games Service) (0) | 2024.01.03 |
#003 유니티 씬 이름 변경 및 저장, 버튼 생성, 에셋 폴더 생성 (0) | 2023.12.30 |
댓글