← 모든 가이드
가이드 3

첫 번째 시뮬레이터 만들기

crystal을 클릭해서 power를 모으고, power를 팔아서 coins를 얻고, 클릭이 더 강해지는 업그레이드를 사요.

무료50분 · 초급 · Roblox Studio
1
단계 1 / 8

플레이스 준비하기

  1. Roblox Studio를 열고 New Experience를 눌러 Baseplate 템플릿을 골라요.
  2. 바닥에 세 가지를 만들 거예요. 클릭할 crystal, 팔 때 서는 발판, 업그레이드를 사는 발판이에요.
  3. 플레이어가 걸어 다녀야 하도록 서로 약 20 studs씩 떨어뜨려 놓아요.

더 자세히 보기

  • Baseplate 템플릿은 시작 화면의 템플릿 목록에 있어요.
  • Properties의 Position 칸은 part가 어디에 있는지 보여 줘요. 첫 번째 숫자가 20 차이 나는 part 두 개는 서로 20 studs 떨어져 있어요.
  • 세 가지를 SpawnLocation, 즉 플레이어가 나타나는 발판 가까이에 둬요.
  • Mac에서는 이 가이드에 Ctrl이라고 나올 때마다 Cmd 키를 써요.
팁. 먼저 종이에 배치를 그려 봐요. 클릭하고, 팔고, 업그레이드하는 곳 사이의 거리가 짧으면 시뮬레이터가 더 재미있어요.
이 단계가 잘 안 돼요

먼저 이 세 가지를 확인해요

  • 모든 part와 script의 이름이 가이드와 똑같은지 확인해요. 대문자도 똑같아야 해요.
  • script가 알맞은 오브젝트 안에 있는지 확인해요. 코드 상자 위의 이름표를 봐요.
  • Window 메뉴에서 Output 창을 열어요. 빨간 글씨가 문제가 있는 script와 줄을 알려 줘요.

그래도 안 되나요? 우리에게 메일을 보내요 →

2
단계 2 / 8

플레이어 스탯 만들기

  1. ServerScriptService 위에 마우스를 올리고 +를 눌러 Script를 추가해요. 이름은 Stats로 해요.
  2. 이미 적혀 있는 줄은 지우고 이 코드를 붙여 넣어요.
  3. Play를 눌러요. 플레이어 목록에 Power 0과 Coins 0이 나와요.
ServerScriptService > Stats
local Players = game:GetService("Players")

Players.PlayerAdded:Connect(function(player)
	local stats = Instance.new("Folder")
	stats.Name = "leaderstats"
	stats.Parent = player

	for _, name in ipairs({"Power", "Coins"}) do
		local value = Instance.new("IntValue")
		value.Name = name
		value.Parent = stats
	end

	local multiplier = Instance.new("IntValue")
	multiplier.Name = "Multiplier"
	multiplier.Value = 1
	multiplier.Parent = player
end)

각 부분이 하는 일

  • 반복문 하나로 Power와 Coins 두 값을 만들어요.
  • Multiplier는 한 번 클릭할 때 얻는 power의 양이에요. 처음에는 1이에요.
  • Multiplier는 leaderstats가 아니라 플레이어에게 들어 있어서, 플레이어 목록에는 보이지 않아요.

더 자세히 보기

  • +를 누르면 Script라고 써서 빨리 찾을 수 있어요.
  • script는 새 탭에서 열려요. 코드 안을 클릭하고 Ctrl+A를 누른 다음 Ctrl+V를 눌러 전부 바꿔요.
  • Explorer에서 F2로 script 이름을 바꿔요. 이름은 나만 보는 거예요. 나중에 script를 찾는 데 도움이 돼요.
  • 플레이어 목록은 게임 화면 오른쪽 위에 있어요.
이 단계가 잘 안 돼요

먼저 이 세 가지를 확인해요

  • 모든 part와 script의 이름이 가이드와 똑같은지 확인해요. 대문자도 똑같아야 해요.
  • script가 알맞은 오브젝트 안에 있는지 확인해요. 코드 상자 위의 이름표를 봐요.
  • Window 메뉴에서 Output 창을 열어요. 빨간 글씨가 문제가 있는 script와 줄을 알려 줘요.

그래도 안 되나요? 우리에게 메일을 보내요 →

3
단계 3 / 8

Crystal 만들기

  1. Part를 추가해요. Size를 6, 8, 6으로 하고, Anchored를 켜고, 이름을 Crystal로 해요. 밝은 색을 고르고 Material을 Neon으로 바꿔요.
  2. Crystal 위에 마우스를 올리고 +를 눌러 ClickDetector를 추가해요.
  3. Crystal에 Script를 추가하고 이 코드를 붙여 넣어요.
  4. Play를 누르고 crystal을 클릭해요. 클릭할 때마다 Power가 1씩 올라가요.
Crystal > Script
local crystal = script.Parent
local clickDetector = crystal.ClickDetector

clickDetector.MouseClick:Connect(function(player)
	local power = player.leaderstats.Power
	power.Value += player.Multiplier.Value
end)

각 부분이 하는 일

  • ClickDetector는 part를 클릭할 수 있게 해 줘요. 휴대폰에서 터치해도 작동해요.
  • MouseClick은 누가 클릭했는지 스크립트에 알려 줘요.
  • 스크립트가 플레이어의 Multiplier를 Power에 더해서, 업그레이드하면 클릭이 더 강해져요.

더 자세히 보기

  • Properties의 Size 칸에 크기를 쓰고 Enter를 눌러요. 그다음 Move 도구로 crystal이 바닥에 서도록 들어 올려요.
  • +를 누르고 ClickDetector라고 쓰면 찾을 수 있어요. Explorer에서 Crystal 아래에 한 칸 오른쪽으로 들어가 있어야 해요.
  • 게임에서 마우스 포인터가 crystal 위에 오면 손 모양으로 바뀌어요.
  • 충분히 가까이 서야 해요. ClickDetector는 32 studs 이하 거리에서 작동해요.
자주 하는 실수. 클릭해도 아무 일도 안 일어나요: ClickDetector는 스크립트 바로 옆, Crystal 안에 직접 들어 있어야 해요.
이 단계가 잘 안 돼요

먼저 이 세 가지를 확인해요

  • 모든 part와 script의 이름이 가이드와 똑같은지 확인해요. 대문자도 똑같아야 해요.
  • script가 알맞은 오브젝트 안에 있는지 확인해요. 코드 상자 위의 이름표를 봐요.
  • Window 메뉴에서 Output 창을 열어요. 빨간 글씨가 문제가 있는 script와 줄을 알려 줘요.

그래도 안 되나요? 우리에게 메일을 보내요 →

4
단계 4 / 8

판매 발판 만들기

  1. 바닥에 Part를 추가해요. Size를 8, 1, 8로 하고, Anchored를 켜고, 노란색으로 만들고, 이름을 Sell로 해요.
  2. Sell에 Script를 추가하고 이 코드를 붙여 넣어요.
  3. Play를 누르고, crystal을 몇 번 클릭한 다음 발판 위로 걸어가요. Power가 Coins로 바뀌어요.
Sell > Script
local Players = game:GetService("Players")
local pad = script.Parent

pad.Touched:Connect(function(hit)
	local player = Players:GetPlayerFromCharacter(hit.Parent)
	if not player then return end

	local stats = player.leaderstats
	if stats.Power.Value > 0 then
		stats.Coins.Value += stats.Power.Value
		stats.Power.Value = 0
	end
end)

각 부분이 하는 일

  • GetPlayerFromCharacter는 발판을 밟은 플레이어를 찾아 줘요.
  • 발판은 플레이어의 Power를 전부 Coins에 더하고, Power를 다시 0으로 만들어요.

더 자세히 보기

  • pad는 플레이어가 걸어서 올라가는 평평한 part예요.
  • pad를 바닥에 평평하게 놓아요. 너무 높으면 플레이어가 올라설 수 없어요.
  • power가 0일 때 pad 위로 걸어가면 아무 일도 일어나지 않아요. 맞는 거예요.
  • 테스트하려면 crystal을 10번 클릭하고 pad 위로 걸어가요. 플레이어 목록에 Power 0과 Coins 10이 나와요.
이 단계가 잘 안 돼요

먼저 이 세 가지를 확인해요

  • 모든 part와 script의 이름이 가이드와 똑같은지 확인해요. 대문자도 똑같아야 해요.
  • script가 알맞은 오브젝트 안에 있는지 확인해요. 코드 상자 위의 이름표를 봐요.
  • Window 메뉴에서 Output 창을 열어요. 빨간 글씨가 문제가 있는 script와 줄을 알려 줘요.

그래도 안 되나요? 우리에게 메일을 보내요 →

5
단계 5 / 8

업그레이드 발판 만들기

  1. 바닥에 Part를 하나 더 추가해요. Size를 8, 1, 8로 하고, Anchored를 켜고, 파란색으로 만들고, 이름을 Upgrade로 해요.
  2. Upgrade에 Script를 추가하고 이 코드를 붙여 넣어요.
  3. Play를 누르고, coins 25개를 모은 다음 발판을 밟아요. 이제 클릭할 때마다 power 2를 얻어요.
Upgrade > Script
local Players = game:GetService("Players")
local pad = script.Parent
local waiting = {}

pad.Touched:Connect(function(hit)
	local player = Players:GetPlayerFromCharacter(hit.Parent)
	if not player or waiting[player] then return end

	local price = player.Multiplier.Value * 25
	local coins = player.leaderstats.Coins
	if coins.Value < price then return end

	waiting[player] = true
	coins.Value -= price
	player.Multiplier.Value += 1

	task.wait(1)
	waiting[player] = nil
end)

각 부분이 하는 일

  • 가격은 플레이어의 Multiplier에 25를 곱한 값이라서, 업그레이드할수록 앞보다 더 비싸져요.
  • waiting table은 발판 위에 오래 서 있어도 업그레이드가 한꺼번에 여러 번 사지는 걸 막아 줘요.
  • 구매하고 나면 Multiplier가 1 올라가요.

더 자세히 보기

  • pad는 sell pad에서 몇 걸음 떨어진 곳에 놓아요. 그래야 플레이어가 실수로 사지 않아요.
  • 첫 번째 upgrade는 25 coins예요. 사고 나면 Coins가 25 줄어들고 클릭 한 번에 power가 2씩 올라가요.
  • coins가 가격보다 적으면 pad는 아무것도 하지 않아요. pad에서 내려와서 더 모은 다음 다시 와요.
  • 1초 쉬는 시간이 있어서, pad 위에 가만히 서 있으면 한 번에 upgrade 하나만 사져요.
이 단계가 잘 안 돼요

먼저 이 세 가지를 확인해요

  • 모든 part와 script의 이름이 가이드와 똑같은지 확인해요. 대문자도 똑같아야 해요.
  • script가 알맞은 오브젝트 안에 있는지 확인해요. 코드 상자 위의 이름표를 봐요.
  • Window 메뉴에서 Output 창을 열어요. 빨간 글씨가 문제가 있는 script와 줄을 알려 줘요.

그래도 안 되나요? 우리에게 메일을 보내요 →

6
단계 6 / 8

발판에 글씨 붙이기

  1. Sell 위에 마우스를 올리고 +를 눌러 BillboardGui를 추가해요. Size는 {0, 200}, {0, 50}으로, StudsOffset은 0, 4, 0으로 해요.
  2. BillboardGui 안에 TextLabel을 추가해요. Size를 {1, 0}, {1, 0}으로 하고, TextScaled를 켜고, 이 글자를 입력해요: SELL
  3. Upgrade도 똑같이 하고 이 글자를 입력해요: UPGRADE
  4. Crystal도 똑같이 하고 이 글자를 입력해요: CLICK ME. 여기서는 StudsOffset을 0, 7, 0으로 해서, 글씨가 crystal 위에 떠 있게 해요.

더 자세히 보기

  • Size와 StudsOffset은 Properties에서 칸을 클릭하고, 괄호와 쉼표까지 보이는 그대로 숫자를 쓴 다음 Enter를 눌러요.
  • Text는 TextLabel의 property예요. Text 칸을 클릭하고 낱말을 쓴 다음 Enter를 눌러요.
  • 더 빠른 방법이 있어요. Explorer에서 다 만든 BillboardGui를 클릭하고 Ctrl+C를 누른 다음, 다음 part를 클릭하고 Ctrl+Shift+V를 눌러요. 그리고 글만 바꿔요.
  • 이름표가 있으면 새 플레이어도 설명 없이 게임을 이해할 수 있어요.
팁. BillboardGui는 항상 카메라 쪽을 보기 때문에, 어느 쪽에서든 글씨를 읽을 수 있어요.
이 단계가 잘 안 돼요

먼저 이 세 가지를 확인해요

  • 모든 part와 script의 이름이 가이드와 똑같은지 확인해요. 대문자도 똑같아야 해요.
  • script가 알맞은 오브젝트 안에 있는지 확인해요. 코드 상자 위의 이름표를 봐요.
  • Window 메뉴에서 Output 창을 열어요. 빨간 글씨가 문제가 있는 script와 줄을 알려 줘요.

그래도 안 되나요? 우리에게 메일을 보내요 →

7
단계 7 / 8

흐름 테스트하기

  1. F5를 눌러요. 클릭하고, 팔고, 업그레이드하고, 다시 반복해요.
  2. 업그레이드 가격이 오르는지 확인해요. coins 25개, 그다음 50개, 그다음 75개예요.
  3. Shift+F5를 눌러 멈춰요. 뭔가 잘 안 되면 Window 메뉴에서 Output 창을 열고 빨간 글씨를 읽어요.

더 자세히 보기

  • 클릭 횟수를 세어 봐요. Multiplier가 1이면 열 번 클릭해서 power 10이 돼요.
  • 첫 번째 upgrade 뒤에는 열 번 클릭해서 power 20이 되고, 두 번째 뒤에는 30이 돼요.
  • 게임이 실행되는 동안 바꾼 것은 멈추면 사라져요. Shift+F5를 먼저 누른 다음에 고쳐요.
  • Output 창에서 빨간 줄을 클릭하면 Studio가 오류가 있는 줄에서 script를 열어 줘요.
자주 하는 실수. 발판에서 아무것도 안 사져요: 필요한 건 Power 25가 아니라 Coins 25 이상이에요. 먼저 팔아요.
이 단계가 잘 안 돼요

먼저 이 세 가지를 확인해요

  • 모든 part와 script의 이름이 가이드와 똑같은지 확인해요. 대문자도 똑같아야 해요.
  • script가 알맞은 오브젝트 안에 있는지 확인해요. 코드 상자 위의 이름표를 봐요.
  • Window 메뉴에서 Output 창을 열어요. 빨간 글씨가 문제가 있는 script와 줄을 알려 줘요.

그래도 안 되나요? 우리에게 메일을 보내요 →

8
단계 8 / 8

게시하기

  1. File → Publish to Roblox를 골라요. 게임 이름과 짧은 설명을 적어요.
  2. Creator Hub 웹사이트에서 내 게임을 열고 Maturity 설문을 채워요.
  3. 게임을 Public으로 바꾸고 친구에게 링크를 보내요.

더 자세히 보기

  • 처음 게시할 때 Studio가 이름과 설명을 물어봐요. Create를 눌러요.
  • Creator Hub는 create.roblox.com 웹사이트예요. 같은 계정으로 로그인하고 목록에서 내 게임을 클릭해요.
  • 게임을 공개하려면 Roblox가 더 요구할 수도 있어요. 예를 들면 계정의 나이 확인이에요. 무엇이 빠졌는지 페이지가 알려 줘요.
  • 18세 미만이라면 이 단계는 부모님과 함께 해요.
팁. 아직은 진행 상황이 저장되지 않아요. 플레이어가 나가면 coins가 사라져요. 데이터 저장은 심화 수업에서 배워요.
이 단계가 잘 안 돼요

먼저 이 세 가지를 확인해요

  • 모든 part와 script의 이름이 가이드와 똑같은지 확인해요. 대문자도 똑같아야 해요.
  • script가 알맞은 오브젝트 안에 있는지 확인해요. 코드 상자 위의 이름표를 봐요.
  • Window 메뉴에서 Output 창을 열어요. 빨간 글씨가 문제가 있는 script와 줄을 알려 줘요.

그래도 안 되나요? 우리에게 메일을 보내요 →

이제 직접 바꿔 봐요

  • 클릭할 때마다 power 5를 주지만 멀리 있는 두 번째 crystal을 추가해 봐요.
  • 업그레이드 가격이 매번 두 배가 되게 해 봐요. 힌트: 25 * 2 ^ (player.Multiplier.Value - 1)
  • 클릭할 때마다 crystal이 조금씩 커지게 해 봐요. 힌트: crystal.Size를 바꿔요