コインにするブロックを1つ作り、名前を「 コイン 」にして「 固定 」しておきましょう。
円柱や球体・金色がおすすめです。
Roblox Studio を開いて、自分のアカウントでログインしておきましょう。
前回保存していた「実験用ステージ04」を開いておきます。
| 使用する機器 | 何に使うのか |
|---|---|
| パソコン | Roblox Studio を操作するために使用します。 |
コインにするブロックを1つ作り、名前を「 コイン 」にして「 固定 」しておきましょう。
円柱や球体・金色がおすすめです。
コインを右クリック→複製、または Ctrl+D で2〜3個に増やして、間隔をあけて並べておきましょう。
Lua には「 local 」を使った変数がありましたが、1つのScriptの中でしか使えませんでした。
今回は複数のScriptからカウントを増やしたりチェックしたりするため、「 IntValue 」というもので変数を作ります。
「 ReplicatedStorage (レプリケーテッドストレージ)」というどのScriptからも見られる場所に、「 IntValue 」を入れていきます。
コインの1つに Script を入れて、名前を「 カウントScript 」にしておきましょう。以下のコードをコピーして貼り付けます。
-- カウント(IntValue)を見つけてcountという名前で使えるようにする
local count = game.ReplicatedStorage:WaitForChild("コインカウント")
-- プレイヤーに触れたら
script.Parent.Touched:Connect(function(hit)
if hit.Parent:FindFirstChild("Humanoid") then
count.Value += 1 -- countのValue(値)を1増やす
print(count.Name..count.Value) -- 出力に表示する
script.Parent:Destroy() -- 親ブロックを破壊する
end
end)
1行目:WaitForChild は、指定したものが見つかるまで待ち続けて、見つかり次第変数に入れてくれます。
count.Value += 1 で、count の Value(値)を1増やしています。
Script の親ブロックが「破壊をする」、つまり自身を削除するコードも入っていますね。これからコインはクローンして無限に増やせるようにするので、削除する形にしています。
コインカウント(元の例)
動き
ごみカウント(アレンジ例)
動き
コインを取るたびにカウントが増えた!これを使えばごみ拾いゲームのカウントも作れそう!
local の変数と IntValue の違い、やっとわかった気がする。IntValue はどのScriptからも見られるのね。
確認テストへ進む前に
コインとIntValueを使って、カウントを増やす仕組みが作れましたか?作れたら、確認テストに挑戦してみましょう!