コインを回転させる
コイン用Scriptとは別に、回転用ScriptをCoinに入れると作りやすいです。
-- Coinの中に新しいScriptを入れるlocal coin = script.Parent while true do coin.CFrame = coin.CFrame * CFrame.Angles(0, math.rad(4), 0) task.wait()end
Rule Making
取るとうれしい、集める楽しさを作るギミック
金色の丸いパーツが浮いていて、取ると消える。
このギミックのルール
コインに触る
Humanoidを探す
コインを消す
取ったことが分かる
Typing Time
黄色の行は、コードの道案内です。声に出して読んでから、その下の命令をゆっくり手打ちしてみよう。
-- 1. コインをつかまえるlocal coin = script.Parent -- 2. もう取られたかどうかをメモするlocal taken = false -- 3. コインに触ったら、この中が動くcoin.Touched:Connect(function(hit) -- プレイヤーかどうか調べる local humanoid = hit.Parent:FindFirstChild("Humanoid") if humanoid and taken == false then taken = true -- コインを見えなくする coin.Transparency = 1 -- もう触れないようにする coin.CanTouch = false print("コインをゲット!") endend)
Remix Missions
Power Up Code
できたギミックに少し足すだけで、ステージのルールが変わります。まず1つ選んで、黄色の説明を読みながら書いてみよう。
コイン用Scriptとは別に、回転用ScriptをCoinに入れると作りやすいです。
-- Coinの中に新しいScriptを入れるlocal coin = script.Parent while true do coin.CFrame = coin.CFrame * CFrame.Angles(0, math.rad(4), 0) task.wait()end
Coinの中にSoundを入れて、名前を GetSound にします。
-- Scriptの最初のほうに追加local sound = coin:WaitForChild("GetSound") -- コインを取ったところに追加sound:Play()
プレイヤーのleaderstatsにCoinsがある時、1枚ずつ増やします。
-- if humanoid and taken == false then の中に追加local player = game.Players:GetPlayerFromCharacter(hit.Parent) if player then local coins = player.leaderstats.Coins coins.Value = coins.Value + 1end