はじめてのObby
CoddyのLuaジャーニー「Robloxゲームのスクリプティング」セクションの一部。レッスン 24/24。
オビー(障害物コース)は、Robloxで最初に作る定番のゲームです。危険なものに触れずに、スタートからゴールまでたどり着きましょう。このコースは空に浮かんでいます。
Start:スポーン地点LavaFloor:幅の広い灰色のプラットフォーム。その上にある2本の溶岩帯は、workspace内のLavaフォルダーにあります。Checkpoint:コースの中間地点にあるSpawnLocationPath:幅の狭い通路Finish:金色のプラットフォーム
ServerScriptServiceにある1つのスクリプトが、このコースで学んだすべてを使ってゲーム全体を動かします。新しい要素が1つあります。
SpawnLocationが2つ(スタート地点とチェックポイント)ある場合、LoadCharacterAsyncはプレイヤーをそのRespawnLocationで復活させます。プレイヤーをそこへ送る前に、復活地点をスタート地点に戻しておきましょう。
チャレンジ
難しい1つのスクリプトでオビー全体が動作するようにしましょう。
- すべてのプレイヤーに
leaderstatsと、値が0の IntValueWinsが与えられ、RespawnLocationはworkspace.Startになります。 workspace.Lava内のすべてのパーツは、触れたプレイヤーを倒します。workspace.Checkpointに触れると、そこがプレイヤーのリスポーン地点になります。workspace.Finishに触れると Wins にちょうど 1 が加算され、プレイヤーの RespawnLocation がworkspace.Startに設定され、LoadCharacterAsync()でそこへ移動します。後でもう一度ゴールすると、さらに 1 勝が加算されます。
Play を押してオビーをクリアし、それから Check を押しましょう。テストプレイヤーはオビーを2回プレイします。
自分で試してみよう
local Players = game:GetService("Players")
-- 1. すべてのプレイヤーに Wins = 0 の leaderstats を設定し、スタート地点から開始する
Players.PlayerAdded:Connect(function(player)
end)
-- 2. workspace.Lava 内のすべてのパーツに触れると死亡する
-- 3. チェックポイントがプレイヤーのリスポーン地点になる
-- 4. ゴール:勝利数が +1 され、その後スタート地点に戻る
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
Robloxゲームのスクリプティングのすべてのレッスン
自分で練習してみよう: Luaオンラインコンパイラ