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

最初のシミュレーターを作ろう

クリスタルをクリックして power をためて、power を売って coins にして、クリックが強くなるアップグレードを買います。

無料50分 · 初心者 · Roblox Studio
1
ステップ 1 / 8

プレイスを準備する

  1. Roblox Studio を開いて、New Experience をクリックし、Baseplate のテンプレートを選びます。
  2. 床の上に3つのものを作ります。クリックするクリスタル、売るためのパッド、アップグレードを買うパッドです。
  3. 3つの間は、約20 studs あけます。プレイヤーが歩くようにするためです。

くわしく見る

  • Baseplate のテンプレートは、スタート画面のテンプレート一覧にあります。
  • Properties の Position の欄は、パーツがどこにあるかを表します。1つ目の数が20はなれているパーツは、おたがいに20 studs はなれています。
  • 3つのものは、SpawnLocation(プレイヤーが出てくる足場)の近くに置いておこう。
  • Mac では、このガイドに Ctrl と書いてあるところで、いつも Cmd キーを使ってね。
ヒント. 先に紙にレイアウトをかいてみましょう。クリック、売る、アップグレードの間が短いと、シミュレーターは気持ちよくあそべます。
このステップがうまくいかない

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

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

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

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)

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

  • ループは、1つのコードで2つの値を作ります。Power と Coins です。
  • Multiplier は、1回のクリックで何 power もらえるかです。最初は 1 です。
  • Multiplier は、leaderstats の中ではなく、プレイヤーの上にあります。だから、プレイヤーのリストには出ません。

くわしく見る

  • + をクリックしたら、Script と入力するとすぐに見つかります。
  • スクリプトは、新しいタブで開きます。コードの中をクリックして、Ctrl+A を押し、そのあと Ctrl+V で、ぜんぶ置きかえよう。
  • スクリプトの名前は、Explorer で F2 を押すと変えられます。名前は自分のためだけのものです。あとでスクリプトをさがすときに役に立ちます。
  • プレイヤー一覧は、ゲーム画面の右上にあります。
このステップがうまくいかない

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

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

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

3
ステップ 3 / 8

クリスタルを作る

  1. Part を足します。Size を 6, 8, 6 にして、Anchored をオンにして、名前を Crystal にします。明るい色にして、Material を Neon にします。
  2. Crystal の上にマウスを置いて、+ をクリックし、ClickDetector を足します。
  3. Crystal に Script を足して、このコードをはり付けます。
  4. Play を押して、クリスタルをクリックします。クリックするたびに、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 ツールでクリスタルを持ち上げて、ゆかの上に立たせよう。
  • + をクリックしたら、ClickDetector と入力するとすぐに見つかります。Explorer では、Crystal の下で、ひとつ右にずれて並びます。
  • ゲームの中で、マウスポインターがクリスタルの上に来ると、手の形に変わります。
  • 近くに立つ必要があります。ClickDetector は、32 studs 以内のきょりで使えます。
よくある まちがい. クリックしても何も起きないとき: ClickDetector は、スクリプトのとなりで、Crystal の すぐ中に入っていないといけません。
このステップがうまくいかない

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

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

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

4
ステップ 4 / 8

売るパッドを足す

  1. 床に Part を足します。Size を 8, 1, 8 にして、Anchored をオンにして、黄色にして、名前を Sell にします。
  2. Sell に Script を足して、このコードをはり付けます。
  3. Play を押して、クリスタルを何回かクリックしてから、パッドの上に歩いて乗ります。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 にもどします。

くわしく見る

  • パッドは、プレイヤーが歩いて乗る、平らなパーツです。
  • パッドは、ゆかの上に平らに置こう。高すぎると、プレイヤーが乗れません。
  • パワーが0のままパッドに乗っても、何も起きません。それで正しいです。
  • テストするには、クリスタルを10回クリックして、パッドに歩いて乗ります。すると、プレイヤー一覧に Power 0 と Coins 10 が出ます。
このステップがうまくいかない

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

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

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

5
ステップ 5 / 8

アップグレードのパッドを足す

  1. もう1つ、床に Part を足します。Size を 8, 1, 8 にして、Anchored をオンにして、青にして、名前を Upgrade にします。
  2. Upgrade に Script を足して、このコードをはり付けます。
  3. Play を押して、25 coins をためて、パッドに乗ります。これで、1回のクリックで 2 power もらえます。
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 ふえます。

くわしく見る

  • パッドは、sell のパッドから数歩はなして置こう。そうすると、まちがって買ってしまうことがありません。
  • 最初のアップグレードは、25 coins です。買うと、Coins が25へって、1回のクリックで2のパワーが入ります。
  • 値段より coins が少ないときは、パッドは何もしません。いったん降りて、もっとかせいでから、もどってこよう。
  • 1秒のあいだがあるので、パッドの上でじっとしていても、いちどに買えるアップグレードはひとつだけです。
このステップがうまくいかない

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

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

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

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 にして、ラベルがクリスタルの上にうかぶようにします。

くわしく見る

  • Size と StudsOffset は、Properties の欄をクリックして、数を見本のとおりに入力します。かっこもコンマもそのままです。そして Enter を押そう。
  • Text は、TextLabel のプロパティです。Text の欄をクリックして、ことばを入力し、Enter を押します。
  • もっと早い方法があります。できあがった BillboardGui を Explorer でクリックして Ctrl+C を押し、次のパーツをクリックして Ctrl+Shift+V を押します。そして、文字だけを変えよう。
  • ラベルがあると、新しいプレイヤーが、説明なしでもゲームが分かります。
ヒント. BillboardGui は、いつもカメラの方を向きます。だから、プレイヤーは、どの方向からでも読めます。
このステップがうまくいかない

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

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

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

7
ステップ 7 / 8

流れをテストする

  1. F5 を押します。クリック、売る、アップグレード、をくりかえしましょう。
  2. アップグレードのねだんが上がるか、たしかめます。25 coins、次は 50、その次は 75 です。
  3. Shift+F5 を押して、止めます。うまくいかないときは、Window メニューから Output ウィンドウを開いて、赤い文字を読みましょう。

くわしく見る

  • クリックの数を数えてみよう。Multiplier が1なら、10回のクリックで10のパワーになります。
  • 最初のアップグレードのあとは、10回のクリックで20のパワー、2回目のあとは30になります。
  • ゲームが動いているあいだに変えたことは、止めると消えてしまいます。先に Shift+F5 を押してから、直そう。
  • Output ウィンドウで赤い行をクリックすると、Studio が、エラーのある行でスクリプトを開いてくれます。
よくある まちがい. パッドで何も買えないとき: 25 Power ではなく、25 Coins 以上が必要です。先に売りましょう。
このステップがうまくいかない

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

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

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

8
ステップ 8 / 8

公開する

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

くわしく見る

  • はじめて公開するときは、Studio が名前と説明を聞いてきます。Create をクリックしよう。
  • Creator Hub は、create.roblox.com というウェブサイトです。同じアカウントでログインして、一覧からあなたのゲームをクリックします。
  • ゲームを公開する前に、Roblox からほかのことを求められる場合があります。たとえば、アカウントの年齢確認です。足りないものは、ページに出ます。
  • 18歳未満の人は、このステップを保護者の人といっしょにやってね。
ヒント. 進み具合は、まだ保存されません。プレイヤーが抜けると、coins は消えます。データの保存は、上級レッスンです。
このステップがうまくいかない

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

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

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

自分で変えてみよう

  • クリック1回で 5 power もらえるけれど、遠くにある2つ目のクリスタルを足してみよう。
  • アップグレードのねだんが、毎回2倍になるようにしてみよう。ヒント: 25 * 2 ^ (player.Multiplier.Value - 1)
  • クリックするたびに、クリスタルが少し大きくなるようにしてみよう。ヒント: crystal.Size を変えます