로블록스 게임 개발

로블록스 Enum 완벽 정리

CYANREDSKY 2025. 9. 20. 08:22

안녕하세요! 👋 오늘은 로블록스 스크립트에서 자주 만날 수 있는 Enum에 대해 친절하게 설명해 드릴게요. 🕹️✨
어린이부터 성인까지 모두 이해할 수 있도록 쉽고 재미있게 풀어드리겠습니다.

🌟 Enum이란?

**Enum(열거형, Enumeration)**은 로블록스에서 미리 정해 둔 선택지(값) 모음이에요.

예를 들어:

  • 문을 열 때 “열림” / “닫힘” 두 가지 상태만 있다면
  • 조명을 켤 때 “켜짐” / “꺼짐” 두 가지 상태만 있다면

이처럼 한정된 선택지들을 깔끔하게 정리해 놓은 것이 Enum입니다.

👉 즉, Enum은 미리 약속된 옵션 리스트라고 할 수 있어요. 📋

🧩 Enum 사용 예시

1. SurfaceType (블록 표면 모양)

local part = workspace.Part
part.TopSurface = Enum.SurfaceType.Smooth

👉 블록 위쪽 표면을 매끄럽게 설정합니다.

2. KeyCode (키보드 입력)

local UserInputService = game:GetService("UserInputService")

UserInputService.InputBegan:Connect(function(input)
    if input.KeyCode == Enum.KeyCode.Space then
        print("스페이스바 눌림!")
    end
end)

👉 플레이어가 스페이스바를 누르면 메시지를 출력합니다.

3. Material (블록 재질)

local part = workspace.Part
part.Material = Enum.Material.Wood

👉 블록을 나무 재질로 바꿉니다. 🌳

🎮 어디에 활용할까요?

  • 키보드/마우스 입력 감지 (어떤 버튼 눌렀는지 확인) ⌨️🖱️
  • 파트 속성 변경 (재질, 표면, 색상 등) 🧱
  • UI 설정 (버튼 스타일, 텍스트 정렬 방식 등) 🖼️
  • 애니메이션 컨트롤 (반복 여부, 재생 방식 등) 🎬

🪄 쉬운 비유

Enum은 메뉴판 🍔 같은 거예요.

  • 햄버거 가게에 가면 메뉴판에 있는 음식만 고를 수 있죠.
  • 게임 속에서도 Enum은 “가능한 선택지”를 정리해 두어서, 개발자가 잘못된 값을 넣지 않게 도와줍니다.

✨ 정리

  • Enum = 로블록스에서 미리 약속해둔 선택지 모음
  • 예시: Enum.Material, Enum.KeyCode, Enum.SurfaceType
  • 키 입력, 블록 속성, UI 등 다양한 곳에서 사용 가능

Enum을 잘 활용하면, 로블록스에서 더 안전하고 정확한 코드를 작성할 수 있습니다. 🌈