次は「 ProximityPrompt(接近ボタン) 」という部品を使って、近づいてボタンを押すとアイテムを拾えるギミックを作ってみましょう。木材や鍵などを集めるアドベンチャーゲームでよく使われる仕組みです。
Eキーを押して拾う感覚、まさに冒険ゲームっぽい!他のアイテムにも応用したいわ。
次は「 ProximityPrompt(接近ボタン) 」という部品を使って、近づいてボタンを押すとアイテムを拾えるギミックを作ってみましょう。木材や鍵などを集めるアドベンチャーゲームでよく使われる仕組みです。
| プロパティ | できること |
|---|---|
| ActionText | ボタンの操作説明(例:「 ひろう 」) |
| ObjectText | 対象物の名前(例:「 木材 」) |
| HoldDuration | ボタンを押し続ける秒数(0にすると一瞬で反応) |
| KeyboardKeyCode | 反応させるキー(初期設定はEキー) |
| MaxActivationDistance | ボタンが表示される距離 |
次に、パーツにScriptを追加して、ボタンが押された時にアイテムが消えるようにしましょう。
local part = script.Parent
local prompt = part:WaitForChild("ProximityPrompt")
prompt.Triggered:Connect(function(player)
print(player.Name .. "が木材をひろいました")
part:Destroy() -- パーツを消す
end)
Touchedは「 触れた瞬間 」に反応しましたが、prompt.Triggeredは「 プレイヤーが自分の意思でボタンを押した瞬間 」に反応します。「 通りがかっただけで発動してしまうTouched 」と「 自分の意思で操作するProximityPrompt 」、場面に応じて使い分けましょう。
Eキーを押して拾う感覚、まさに冒険ゲームっぽい!他のアイテムにも応用したいわ。
Well done!
次のステップに進みましょう!