반응형
유니티 C# 인스펙터에서 드래그로 값 조절하는 방법 예시 코드 작성
using UnityEngine;
public class PlayerController : MonoBehaviour
{
[Header("Movement Settings")]
[SerializeField] private float moveSpeed = 5f; // 이동 속도
[SerializeField] private float jumpForce = 10f; // 점프 힘
private Rigidbody2D rb;
void Start()
{
rb = GetComponent<Rigidbody2D>();
}
void Update()
{
Move();
Jump();
}
void Move()
{
float moveInput = Input.GetAxis("Horizontal");
rb.velocity = new Vector2(moveInput * moveSpeed, rb.velocity.y);
}
void Jump()
{
if (Input.GetButtonDown("Jump") && Mathf.Abs(rb.velocity.y) < 0.001f)
{
rb.AddForce(Vector2.up * jumpForce, ForceMode2D.Impulse);
}
}
}
코드 설명
- 필드 선언:
- moveSpeed와 jumpForce는 public 또는 [SerializeField]로 선언하여 인스펙터에서 드래그로 값 조절이 가능합니다.
- [Header("Movement Settings")]는 인스펙터에서 그룹을 나누어 시각적으로 구분할 수 있게 해줍니다.
- Rigidbody2D 컴포넌트:
- Start() 메서드에서 Rigidbody2D 컴포넌트를 가져옵니다.
- Update() 메서드:
- Move()와 Jump() 메서드를 호출하여 플레이어를 이동시키고 점프시킵니다.
- 이동과 점프:
- Move() 메서드는 수평 입력을 받아 Rigidbody2D의 속도를 설정합니다.
- Jump() 메서드는 점프 버튼이 눌렸을 때 점프를 하도록 설정합니다.
사용법
- 유니티 에디터에서 빈 게임 오브젝트를 생성하고 Rigidbody2D 컴포넌트를 추가합니다.
- 위의 PlayerController 스크립트를 추가합니다.
- 인스펙터에서 moveSpeed와 jumpForce 값을 드래그하여 조정할 수 있습니다.
- Play 모드에서 키 입력으로 캐릭터를 이동하고 점프할 수 있습니다.
반응형