← すべてのガイド
ガイド 1

最初の Obby を作ろう

溶岩、チェックポイント、消える足場、ゴールがある障害物コースです。

無料45分 · 初心者 · Roblox Studio
1
ステップ 1 / 10

新しいプレイスを作る

  1. Roblox Studio を開いて、サインインします。
  2. New Experience をクリックして、Baseplate のテンプレートを選びます。
  3. 平らな灰色の床ができました。コースは、この上に作ります。

くわしく見る

  • Roblox Studio は、Windows と Mac で使える無料のプログラムです。まだ入っていないときは、create.roblox.com からダウンロードして、Roblox のアカウントでログインしよう。
  • Baseplate のテンプレートは、スタート画面のテンプレート一覧にあります。何もない灰色のゆかが見えるものです。
  • プレイス(ゲームの場所)は、タブの中で開きます。タブの名前が、あなたのプレイスの名前です。
  • Mac では、このガイドに Ctrl と書いてあるところで、いつも Cmd キーを使ってね。
ヒント. File → Save to Roblox で、こまめに保存しましょう。Studio は古いバージョンも残してくれるので、いつでももどれます。
このステップがうまくいかない

まず、この3つを見てみよう

  • パーツやスクリプトの名前が、ガイドとまったく同じか見てみよう。大文字と小文字も同じにします。
  • スクリプトが正しいオブジェクトの中にあるか見てみよう。コードの箱の上にあるラベルを見てください。
  • Window メニューから Output を開こう。赤い文字が出ていたら、どのスクリプトの何行目に問題があるかが分かります。

まだ困っていますか? メールで教えてください →

2
ステップ 2 / 10

3つのパネルを知る

  1. まん中の大きな3Dの画面が Viewport です。ここがゲームの世界です。
  2. Explorer には、ゲームの中のすべてのオブジェクトが並びます。Properties には、選んだオブジェクトの設定が出ます。
  3. カメラの動かし方: 右クリックを押したままで見回します。W A S D で飛んで、Q で下、E で上に動きます。
  4. 道に迷ったら、どれかの Part を選んで F を押します。カメラがそこへ飛びます。

くわしく見る

  • Explorer と Properties は、ウィンドウの右側にあります。上が Explorer で、その下が Properties です。
  • Viewport でオブジェクトをクリックすると、Explorer でもそのオブジェクトが光ります。Explorer で名前をクリックすると、Viewport でも選ばれます。
  • 丸いマークがついた平らな足場が SpawnLocation です。ゲームが始まると、プレイヤーはここに出てきます。そのままにしておこう。
  • まちがえたかな? Ctrl+Z を押すと、直前にしたことが取り消されます。もう一度押すと、もうひとつ前にもどります。
ヒント. パネルが見つからないときは、Window メニューから開きます。古いバージョンでは、View タブにあります。
このステップがうまくいかない

まず、この3つを見てみよう

  • パーツやスクリプトの名前が、ガイドとまったく同じか見てみよう。大文字と小文字も同じにします。
  • スクリプトが正しいオブジェクトの中にあるか見てみよう。コードの箱の上にあるラベルを見てください。
  • Window メニューから Output を開こう。赤い文字が出ていたら、どのスクリプトの何行目に問題があるかが分かります。

まだ困っていますか? メールで教えてください →

3
ステップ 3 / 10

スタートの足場を作る

  1. Home タブで Part をクリックします。灰色のブロックが出ます。
  2. Properties で Size を 12, 1, 12 にして、名前を Start に変えます。
  3. Anchored をオンにします。Anchored の Part は、落ちないし、動きません。
  4. Color ボタンで、好きな色を選びます。

くわしく見る

  • 新しいパーツは、カメラの前に出てきます。Explorer での名前は Part です。
  • 名前を変えるには、Explorer でパーツを1回クリックして F2 を押し、Start と入力して Enter を押します。
  • Properties の Size の欄をクリックして、12, 1, 12 と入力し、Enter を押そう。3つの数は、はば、高さ、おくゆきです。
  • Anchored は、Properties にあるチェックボックスです。チェックがついていると、オンです。
  • Move ツール(Ctrl+2)を使って、足場を SpawnLocation のとなりに置こう。そうすると、プレイヤーが歩いて乗れます。
よくある まちがい. Anchored を忘れること。作っている間は大丈夫に見えますが、ゲームが始まると、Part が下の何もない所へ落ちてしまいます。
このステップがうまくいかない

まず、この3つを見てみよう

  • パーツやスクリプトの名前が、ガイドとまったく同じか見てみよう。大文字と小文字も同じにします。
  • スクリプトが正しいオブジェクトの中にあるか見てみよう。コードの箱の上にあるラベルを見てください。
  • Window メニューから Output を開こう。赤い文字が出ていたら、どのスクリプトの何行目に問題があるかが分かります。

まだ困っていますか? メールで教えてください →

4
ステップ 4 / 10

ジャンプする足場を足す

  1. Start を選んで、Ctrl+D を押してコピーします。Move ツール (Ctrl+2) で、コピーを前に引っぱります。
  2. Scale ツール (Ctrl+3) で小さくします。Size は 6, 1, 6 がちょうどいいです。
  3. 足場と足場の間は、5〜7 studs あけます。足場が6〜8個になるまで、くりかえします。
  4. 足場をいくつか少し高くして、コースが上っていくようにします。

くわしく見る

  • コピーは、もとのパーツのちょうど真上に出てきます。だから、何も起きなかったように見えます。Move ツールの青か赤の矢印をドラッグすると、コピーがすべって出てきます。
  • Scale ツールで、パーツについている小さな丸をドラッグすると、大きさが変わります。Properties に大きさを入力してもだいじょうぶです。
  • Properties の Position の欄は、パーツがどこにあるかを表します。ふたつの足場の数をくらべると、あいだのきょりが分かります。
  • 足場は、ぜんぶ Anchored にしておこう。Anchored のパーツのコピーも Anchored のままなので、新しく作ったパーツだけ見ればだいじょうぶです。
  • F5 を押して、自分でジャンプを試してみよう。止めるときは Shift+F5 です。足場を2つか3つ作るたびに試してね。
ヒント. ふつうのキャラクターは、7.2 studs の高さまでジャンプして、前に約8 studs とべます。8 studs より広いすき間は、ほとんどとべません。
このステップがうまくいかない

まず、この3つを見てみよう

  • パーツやスクリプトの名前が、ガイドとまったく同じか見てみよう。大文字と小文字も同じにします。
  • スクリプトが正しいオブジェクトの中にあるか見てみよう。コードの箱の上にあるラベルを見てください。
  • Window メニューから Output を開こう。赤い文字が出ていたら、どのスクリプトの何行目に問題があるかが分かります。

まだ困っていますか? メールで教えてください →

5
ステップ 5 / 10

プレイヤーをもどす溶岩を作る

  1. 2つの足場の間に、新しい Part を足します。赤い色にして、Material を Neon にして、Anchored をオンにして、名前を Lava にします。
  2. Explorer で Lava の上にマウスを置いて、+ ボタンをクリックし、Script を選びます。
  3. もとから入っている行を消して、このコードをはり付けます。
Lava > Script
local lava = script.Parent

lava.Touched:Connect(function(hit)
	local humanoid = hit.Parent:FindFirstChildOfClass("Humanoid")
	if humanoid then
		humanoid.Health = 0
	end
end)

それぞれの部分の はたらき

  • script.Parent は、スクリプトが入っている Part のことです。ここでは溶岩です。
  • Touched は、何かがその Part にさわるたびに動きます。hit は、さわったもののことで、たとえば足です。
  • hit.Parent は、キャラクターまるごとです。Humanoid を持っていれば、それはプレイヤーなので、スクリプトは Health を 0 にします。

くわしく見る

  • Material は、Properties にあるリストです。クリックして Neon を選ぼう。Neon にすると、パーツが光ります。
  • Script を追加すると、新しいタブで開いて、コードが1行入っています。コードの中をクリックして、Ctrl+A でぜんぶ選び、Ctrl+V で上からはりつけます。
  • 自分の世界にもどるには、あなたのプレイスの名前がついたタブをクリックしよう。
  • テストするには、F5 を押して、溶岩の中に歩いて入ってみよう。キャラクターがばらばらになって、スタートにもどります。
  • 溶岩は、はばが広くて平らにしよう。たとえば Size は 12, 1, 6 です。足場より少し低く置くと、ジャンプに失敗したときに溶岩に落ちます。
このステップがうまくいかない

まず、この3つを見てみよう

  • パーツやスクリプトの名前が、ガイドとまったく同じか見てみよう。大文字と小文字も同じにします。
  • スクリプトが正しいオブジェクトの中にあるか見てみよう。コードの箱の上にあるラベルを見てください。
  • Window メニューから Output を開こう。赤い文字が出ていたら、どのスクリプトの何行目に問題があるかが分かります。

まだ困っていますか? メールで教えてください →

6
ステップ 6 / 10

チェックポイントを足す

  1. Explorer で Workspace の上にマウスを置いて、+ をクリックし、Folder を足します。名前は Checkpoints にします。
  2. コースにそって、Anchored の Part を3つ置いて、Folder の中へドラッグします。名前は 1、2、3 にします。1 は、スタートの足場に置きます。
  3. ServerScriptService の上にマウスを置いて、+ をクリックし、Script を足します。このコードをはり付けます。
ServerScriptService > Script
local Players = game:GetService("Players")
local checkpoints = workspace:WaitForChild("Checkpoints")

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

	local stage = Instance.new("IntValue")
	stage.Name = "Stage"
	stage.Value = 1
	stage.Parent = stats

	player.CharacterAdded:Connect(function(character)
		local root = character:WaitForChild("HumanoidRootPart")
		local point = checkpoints:FindFirstChild(tostring(stage.Value))
		if point then
			task.wait(0.1)
			root.CFrame = point.CFrame + Vector3.new(0, 4, 0)
		end
	end)
end)

for _, point in ipairs(checkpoints:GetChildren()) do
	point.Touched:Connect(function(hit)
		local player = Players:GetPlayerFromCharacter(hit.Parent)
		local stats = player and player:FindFirstChild("leaderstats")
		if not stats then return end

		local number = tonumber(point.Name)
		if number == stats.Stage.Value + 1 then
			stats.Stage.Value = number
		end
	end)
end

それぞれの部分の はたらき

  • leaderstats は、特別な Folder の名前です。この中の値は、プレイヤーのリストに出るので、みんなが自分の Stage を見られます。
  • キャラクターが出てくると、スクリプトは、プレイヤーの Stage と同じ名前のチェックポイントへ、キャラクターを動かします。
  • チェックポイントにさわると、次のチェックポイントのときだけ Stage が上がります。だから、とばして先へ進むことはできません。

くわしく見る

  • Folder は、パソコンのフォルダのように、ほかのオブジェクトを入れておきます。それだけでは、ゲームの中で何もしません。
  • パーツをフォルダに入れるには、Explorer でパーツの名前をドラッグして、Checkpoints という名前の上で手をはなします。すると、パーツはフォルダの下で、ひとつ右にずれて並びます。
  • チェックポイントのパーツは、うすくて広くしよう。たとえば Size は 6, 0.4, 6 で、足場の上にのせます。色を変えると、プレイヤーが気づきやすくなります。
  • テストするには、F5 を押して、右上のプレイヤー一覧を見よう。Stage 1 と出ています。チェックポイント2にさわると、2に変わります。
  • チェックポイントは、順番にさわらないといけません。2より先に3にさわっても、何も起きません。
よくある まちがい. Part の名前を Checkpoint1 や One にすること。スクリプトは、1、2、3 という名前を ぴったりそのまま さがします。
このステップがうまくいかない

まず、この3つを見てみよう

  • パーツやスクリプトの名前が、ガイドとまったく同じか見てみよう。大文字と小文字も同じにします。
  • スクリプトが正しいオブジェクトの中にあるか見てみよう。コードの箱の上にあるラベルを見てください。
  • Window メニューから Output を開こう。赤い文字が出ていたら、どのスクリプトの何行目に問題があるかが分かります。

まだ困っていますか? メールで教えてください →

7
ステップ 7 / 10

消える足場を作る

  1. コースの途中の足場を1つ選んで、Script を足します。
  2. このコードをはり付けて、Play を押し、点めつするのを見ましょう。
Platform > Script
local platform = script.Parent

while true do
	task.wait(2)
	platform.Transparency = 1
	platform.CanCollide = false

	task.wait(2)
	platform.Transparency = 0
	platform.CanCollide = true
end

それぞれの部分の はたらき

  • while true do は、ずっとくりかえします。
  • task.wait(2) は、2秒 止まります。
  • Transparency が 1 だと、Part は見えなくなります。CanCollide が false だと、プレイヤーはそれをすりぬけて落ちます。

くわしく見る

  • Script を追加するには、Explorer で足場の名前の上にマウスを置いて、+ をクリックし、Script を選びます。溶岩のときと同じです。
  • 足場は、2秒間見えて、2秒間消えます。プレイヤーは、タイミングを合わせてジャンプしないといけません。
  • 1つ目の数は、足場が見えている時間です。2つ目の数は、足場が消えている時間です。
  • このスクリプトは、スタートの足場やチェックポイントに入れないでね。入れると、プレイヤーは着いたとたんに落ちてしまいます。
ヒント. 2つの数字を変えると、足場が速くなったり、おそくなったりします。
このステップがうまくいかない

まず、この3つを見てみよう

  • パーツやスクリプトの名前が、ガイドとまったく同じか見てみよう。大文字と小文字も同じにします。
  • スクリプトが正しいオブジェクトの中にあるか見てみよう。コードの箱の上にあるラベルを見てください。
  • Window メニューから Output を開こう。赤い文字が出ていたら、どのスクリプトの何行目に問題があるかが分かります。

まだ困っていますか? メールで教えてください →

8
ステップ 8 / 10

ゴールを作る

  1. コースの終わりに、大きな Anchored の Part を置いて、名前を Finish にします。ゴールが分かるように、金色にします。
  2. Finish に Script を足して、このコードをはり付けます。
Finish > Script
local Players = game:GetService("Players")
local finish = script.Parent
local cooldown = {}

finish.Touched:Connect(function(hit)
	local player = Players:GetPlayerFromCharacter(hit.Parent)
	local stats = player and player:FindFirstChild("leaderstats")
	if not stats or cooldown[player] then return end

	cooldown[player] = true
	stats.Stage.Value = 1
	player:LoadCharacter()

	task.wait(2)
	cooldown[player] = nil
end)

それぞれの部分の はたらき

  • GetPlayerFromCharacter は、ゴールにさわったのがどのプレイヤーかを見つけます。
  • cooldown の table は、同じ1秒の間に、コードが何度も動くのをふせぎます。
  • Stage は 1 にもどり、LoadCharacter が、もう一度走れるように、プレイヤーをスタートへ送ります。

くわしく見る

  • 金色にするには、Properties の Color の欄をクリックして、黄色を選びます。Material を Neon にすると、かがやきます。
  • Size は 12, 1, 12 がちょうどいいです。最後のジャンプのあとに置いて、ほかより少し高くしよう。
  • テストするには、F5 を押して、コースをクリアし、金色のパーツをふもう。スタートにもどって、Stage がまた 1 になります。
  • 2秒のクールダウンがあるのは、1歩ふむだけでも、パーツに何度もさわったことになるからです。
このステップがうまくいかない

まず、この3つを見てみよう

  • パーツやスクリプトの名前が、ガイドとまったく同じか見てみよう。大文字と小文字も同じにします。
  • スクリプトが正しいオブジェクトの中にあるか見てみよう。コードの箱の上にあるラベルを見てください。
  • Window メニューから Output を開こう。赤い文字が出ていたら、どのスクリプトの何行目に問題があるかが分かります。

まだ困っていますか? メールで教えてください →

9
ステップ 9 / 10

ゲームをテストする

  1. F5 を押して、あそびます。スタートからゴールまで、コースを全部 走ってみましょう。
  2. わざと溶岩に落ちてみます。最後のチェックポイントにもどるはずです。
  3. Shift+F5 を押して、止めます。
  4. Window メニューから Output ウィンドウを開きます。赤い文字は、スクリプトにエラーがあるというしるしで、行の番号も出ます。

くわしく見る

  • F5 を押すと、あなたのキャラクターが入った状態でゲームが始まります。ゲームが動いているあいだは、ツールバーの表示が変わります。
  • ゲームが動いているあいだに変えたことは、止めると消えてしまいます。かならず先に Shift+F5 を押してから、直そう。
  • Output ウィンドウで赤い行をクリックすると、Studio が、エラーのある行でスクリプトを開いてくれます。
  • うまくいかないときは、3つのことを見よう。パーツの名前、スクリプトがある場所、そして Anchored がオンかどうかです。
よくある まちがい. ゲームが始まると足場が落ちる: Anchored がオフです。Part にさわっても何も起きない: スクリプトが ちがうオブジェクトに入っているか、名前に打ちまちがいがあります。
このステップがうまくいかない

まず、この3つを見てみよう

  • パーツやスクリプトの名前が、ガイドとまったく同じか見てみよう。大文字と小文字も同じにします。
  • スクリプトが正しいオブジェクトの中にあるか見てみよう。コードの箱の上にあるラベルを見てください。
  • Window メニューから Output を開こう。赤い文字が出ていたら、どのスクリプトの何行目に問題があるかが分かります。

まだ困っていますか? メールで教えてください →

10
ステップ 10 / 10

公開する

  1. File → Publish to Roblox を選びます。ゲームの名前と、短い説明を入れます。
  2. Creator Hub のウェブサイトで、自分のゲームを開いて、Maturity のアンケートに答えます。ほかの人があそぶ前に、Roblox がこれを必要としています。
  3. ゲームを Public にして、リンクを友だちに送ります。

くわしく見る

  • はじめて公開するときは、Studio が名前と説明を聞いてきます。Create をクリックしよう。そのあとは、File → Publish to Roblox で、新しい変更を送れます。
  • Creator Hub は、create.roblox.com というウェブサイトです。同じアカウントでログインして、一覧からあなたのゲームをクリックします。
  • Maturity のアンケートでは、ゲームの中に何があるかを聞かれます。正直に答えよう。このようなオビーには、暴力もこわいものもありません。
  • ゲームを公開する前に、Roblox からほかのことを求められる場合があります。たとえば、アカウントの年齢確認です。足りないものは、ページに出ます。
  • 18歳未満の人は、このステップを保護者の人といっしょにやってね。
ヒント. 友だちにあそんでもらって、それを見ていましょう。友だちが困った所は、いちばん先に直す場所です。
このステップがうまくいかない

まず、この3つを見てみよう

  • パーツやスクリプトの名前が、ガイドとまったく同じか見てみよう。大文字と小文字も同じにします。
  • スクリプトが正しいオブジェクトの中にあるか見てみよう。コードの箱の上にあるラベルを見てください。
  • Window メニューから Output を開こう。赤い文字が出ていたら、どのスクリプトの何行目に問題があるかが分かります。

まだ困っていますか? メールで教えてください →

自分で変えてみよう

  • 4つ目のチェックポイントを足してみよう。名前は何にしないといけないかな?
  • ちがう速さで点めつする、消える足場を3つ作ってみよう。
  • 溶岩で、Health が半分だけへるようにしてみよう。ヒント: humanoid.Health = humanoid.Health - 50