변수 작업하기

*이 콘텐츠는 AI(베타)를 사용해 번역되었으며, 오류가 있을 수 있습니다. 이 페이지를 영어로 보려면 여기를 클릭하세요.

코딩에서 변수는 플레이어 이름, 팀 점수, 또는 스토리 게임의 단어와 같은 경험의 다양한 유형의 정보를 나타내는 자리 표시자입니다. 이 장에서는 경험의 핵심 게임 플레이를 위한 메인 스크립트를 여는 방법과 플레이어에게 질문을 하고 그들의 답변을 스토리에 사용하는 코드를 추가하는 방법을 살펴보겠습니다.

스크립트 열기

Roblox 제작자는 경험에 사용자 정의 행동을 추가하는 방법과 시점을 Studio에 알려주는 스크립트 내에 코드를 작성합니다. 이러한 이벤트를 트리거하거나, 플레이어 정보를 저장하거나, 적을 소환하는 등의 작업을 수행합니다. Roblox 스크립트는 Luau 프로그래밍 언어를 사용하며, 이에 대해서는 코딩 기초 시리즈에서 더 자세히 배울 수 있습니다.

소설 게임 템플릿은 경험의 핵심 게임 플레이를 제어하기 위해 StoryManager라는 단일 스크립트를 사용합니다. 이 스크립트에는 플레이어에게 전체 이야기를 보여주는 데 필요한 코드가 이미 포함되어 있지만, 여러분만의 대화형 이야기를 표시하기 위해 더 많은 코드를 추가할 것입니다.

StoryManager 스크립트를 열려면:

  1. Explorer 창에서 StarterGui 옆의 화살표를 클릭하여 포함된 모든 항목을 확인합니다. GameGui가 표시됩니다.

  2. GameGui 옆의 화살표를 클릭하여 포함된 모든 항목을 확인합니다. StoryManager 스크립트가 맨 위에 다른 몇 가지와 함께 표시됩니다.

  3. StoryManager 스크립트를 더블 클릭합니다. 스크립트의 코드가 표시됩니다.


-- 글로벌 변수
local storyMaker = require(script:WaitForChild("StoryMaker"))
-- 게임 조작 코드
local playing = true
while playing do
storyMaker:Reset()
-- 대시 사이의 코드 이야기
-- =============================================
-- =============================================
-- 아래 괄호 사이에 이야기 변수를 추가하세요
storyMaker:Write()
-- 다시 플레이할까요?
playing = storyMaker:PlayAgain()
end

코드의 대다수 부분에서 -- 기호가 사용되고 있는 것을 주목하세요. 이것은 주석이라고 불립니다. 코더는 주석을 사용하여 메모를 남기며, 이는 스크립트의 실행 방식에 영향을 주지 않습니다. 이번 수업에서는 대시 선 주석 사이에 코드를 작성하여 대화형 이야기를 한 곳에서 집중할 수 있도록 합니다.

플레이어에게 질문하기

최고의 관행으로, 코더는 저장하는 정보 유형을 설명하는 이름으로 변수를 생성합니다. 예를 들어, 플레이어가 팀으로 나뉘는 게임을 작업하고 있다면:

  • team 변수는 플레이어의 정보를 저장합니다.
  • teamColor 변수는 플레이어의 팀 색상 정보를 저장합니다.
  • teamScore 변수는 플레이어의 팀 점수 정보를 저장합니다.

변수는 소수 또는 진리값(참 또는 거짓)과 문자열과 같은 모든 종류의 정보를 저장할 수 있습니다. 문자열형 변수는 전체 문장을 저장할 수 있기 때문에 특별합니다. 이에는 플레이어에게 질문하고자 하는 질문도 포함됩니다.

이전 장의 자리 표시자 단어를 사용하여 플레이어에게 질문하는 데 필요한 문자열형 변수를 만들 수 있습니다.

플레이어 질문을 위한 변수를 만들려면:

  1. 대시 선 주석 아래에 플레이어가 자신의 답변으로 대체할 첫 번째 단어에 대한 로컬 변수를 만듭니다. 예:


    -- =============================================
    local name1
    -- =============================================
  2. = 기호를 사용하여 변수를 제공된 storyMaker:GetInput() 메서드로 설정하여 질문을 대형 책에 표시합니다. 이 메서드는 정확한 대소문자를 포함하여 정확히 입력해야 코드가 작동합니다. 예:


    -- =============================================
    local name1 = storyMaker:GetInput()
    -- =============================================
  3. 괄호 안에 플레이어에게 묻고 싶은 질문을 문자열로 만듭니다. 문자열은 항상 따옴표로 묶여 있어야 합니다!


    -- =============================================
    local name1 = storyMaker:GetInput("당신이 가장 좋아하는 이름은 무엇인가요?")
    -- =============================================

그들의 답변 사용하기

이제 플레이어가 답변할 수 있는 질문이 생겼으므로, 여러분의 이야기를 코드화하고 자리 표시자 단어를 그들의 답변으로 대체하는 행동을 추가할 차례입니다.

스토리를 위한 변수를 만들고 플레이어의 답변을 사용하려면:

  1. 질문 아래에 story라는 새 변수를 생성합니다. 변수를 소문자로 작성하는 것을 기억하세요!


    -- =============================================
    local name1 = storyMaker:GetInput("당신이 가장 좋아하는 이름은 무엇인가요?")
    local story
    -- =============================================
  2. 문자열형 변수를 첫 번째 자리 표시자 이전의 스토리 첫 문장으로 설정하며, 마지막 단어 뒤와 따옴표 사이에 공백을 남깁니다. 만약 자리 표시자 단어가 문장 중간에 위치한다면, 나중의 튜토리얼 장에서 나머지 문장을 추가할 수 있습니다.


    -- =============================================
    local name1 = storyMaker:GetInput("당신이 가장 좋아하는 이름은 무엇인가요?")
    local story = ("언덕의 나무 위에 사는 위대한 마법사 ")
    -- =============================================
  3. 스토리의 첫 번째 문자열을 플레이어의 답변과 결합합니다. 결합하는 것은 **연결(concatenation)**이라고 합니다.

    1. story 변수와 같은 줄에 두 개의 점(..)을 추가합니다.
    2. 그 다음에 공백을 추가하고, 플레이어의 첫 번째 답변을 저장하는 변수의 이름을 입력합니다.

    -- =============================================
    local name1 = storyMaker:GetInput("당신이 가장 좋아하는 이름은 무엇인가요?")
    local story = ("언덕의 나무 위에 사는 위대한 마법사 " .. name1)
    -- =============================================
  4. 대화형 이야기를 작성하기 위해 제공된 storyMaker:Write() 메서드를 호출하여 플레이어에게 스토리의 첫 부분을 보여줍니다.


    -- =============================================
    local name1 = storyMaker:GetInput("당신이 가장 좋아하는 이름은 무엇인가요?")
    local story = ("언덕의 나무 위에 사는 위대한 마법사 " .. name1)
    -- =============================================
    -- =============================================
    storyMaker:Write(story)

이 시점에서 잠시 멈추고, 다음 장에서 경험을 플레이 테스트하여 이야기가 제대로 작동하는지 확인하는 것이 좋습니다!

©2026 Roblox Corporation. Roblox 및 Roblox 로고, 'Powering Imagination'은 미국 및 기타 국가 내 당사의 등록 및 미등록 상표입니다.