チェックポイントの正体。そっくりな板が2枚ある
動作確認日: 2026年9月10日(Roblox Studio 0.736)
連載「アスレチック(オビー)を作ろう」の第17回です。第1回から読む
前回は「見た目はちがうのに、中身は同じ」という話でした。棒も赤い球も溶岩も、やっていることは1つでした。
今日はその裏返しです。
スタートの床を見てください
Start と書かれた白い床です。黒い模様のついた板が、2枚のっています。
左と右。どう見ても、まったく同じ板です。

左をクリックすると、エクスプローラで SpawnLocation が選ばれます。

右をクリックすると——Checkpoint と出ます。
別のものでした。
見た目では分かりません
もう一度、2枚を見くらべてみてください。
大きさも、色も、模様も同じです。並べて置いてあっても、どちらがどちらか見分けられません。
分かるのは、エクスプローラで名前を見たときだけです。
第13回で「名前はあとから見る人へのメッセージ」と書きました。ここでも同じです。見た目がそっくりなものほど、名前が頼りになります。
中身がちがいます
エクスプローラの ▶ を開いてみてください。
| 中に入っているもの | |
|---|---|
| SpawnLocation | Decal |
| Checkpoint | Script と Decal |
Decal は「デカール」と読みます。面に貼った絵のことです。あの黒い模様の正体はこれでした。シールのようなものだと思ってください。
そして——Checkpoint のほうには Script が入っています。
片方はRobloxがはじめから持っている仕組み。もう片方は、作った人が自分で書いたものなのです。
2つの役目
SpawnLocation — ゲームを始めたときに立つ場所です。Robloxが用意している仕組みで、置くだけで働きます。
Checkpoint — ゲームのとちゅうにあります。一度踏んでおくと、やられてもそこから再開できます。
つまり、こういうことです。
| いつ使われるか | |
|---|---|
| SpawnLocation | 最初の1回 |
| Checkpoint | 踏んだあと、やられるたび |
アスレチックは何度もやられます。そのたびに最初からだと、心が折れます。 チェックポイントは、そうならないための仕掛けです。
とちゅうにも置いてあります
エクスプローラをよく見ると、Checkpoint は5つあります。

第8回で足場を渡ったあと、ピンクの板に模様がついているのを見つけましたね。あれです。「これは後の回で使います」と書いたきり、そのままにしてありました。

関門をひとつ越えるたびに、1枚置いてあるのです。
スクリプトを読む

38行あります。でも、やっていることは2つだけです。
1つめ:踏んだら、覚える
いちばん下の行を見てください。
checkpoint.Touched:Connect(onTouched)
Touched です。前回とまったく同じ形でした。さわられたら動く、待ちかまえる書き方です。
さわられたときにやっているのは、まんなかあたりのこの1行です。
checkpointValue.Value = checkpoint
「この人が最後に踏んだのは、この板」と書きとめています。
2つめ:生まれ変わったら、そこへ運ぶ
もう1つ、別の合図が使われています。
player.CharacterAdded:connect(function(character)
CharacterAdded は「キャラクターが出てきたとき」という意味です。やられて生まれ変わった、その瞬間です。
そのときにやっているのが、これです。
character:PivotTo(
storedCheckpoint.CFrame
* CFrame.new(0, 4, 0)
* CFrame.Angles(0, math.rad(180), 0)
)
PivotTo は「そこへ運ぶ」。さっき書きとめておいた板の場所へ、キャラクターを移しています。
合図は1つではありません
ここが今日いちばん大事なところです。
前回おぼえた Touched のほかにも、合図はたくさんあります。
| 合図 | いつ |
|---|---|
Touched | さわられたとき |
CharacterAdded | キャラクターが出てきたとき |
「〇〇のとき」を待ちかまえる——この形さえ分かっていれば、名前がちがっても読めます。
ボタンが押されたとき、時間が来たとき、人がゲームに入ったとき。ゲームは「〇〇のとき」の集まりでできています。
4 と 180 の意味
さっきの運ぶところに、数字が2つありました。
* CFrame.new(0, 4, 0)
* CFrame.Angles(0, math.rad(180), 0)
4 は、4だけ上という意味です。板とぴったり同じ場所に出すと、めり込んでしまうからです。第7回で木が地面にうまったのと同じことが起きます。少し上に出してから、落とすのです。
180 は、180度回す。向きを変えています。そのままだと、来た方向を向いて立ってしまうからでしょう。
どちらも、実際に作ってみないと気づかない工夫です。作った人が、一度やってみて「これじゃだめだ」と直した跡だと思ってください。
確かめてみましょう
読んだだけでは半分です。第9回で書いたとおり、実機で確かめます。
- 再生する
- アスレチックを進んで、模様の板を踏む
- そのあと、わざと落ちる(溶岩でも、赤い球でもかまいません)
- どこから始まるか見る
踏んだ板のところから始まったら、チェックポイントが効いています。
踏まずに落ちたらどうなるか、も試してみてください。ちがいがはっきりします。
自分で置くこともできます
Checkpoint をコピーして、好きな場所に置けるということでもあります。
第6回・第8回でやった Ctrl + D です。中の Script ごとコピーされるので、置くだけで働きます。
むずかしいところの手前に1枚足す。 それだけで、遊ぶ人はずっと続けやすくなります。
連載の終わりのほうで、実際にやってみます。
まとめ
- スタートの床には、そっくりな板が2枚ある
- 見た目では見分けられない。 エクスプローラの名前で分かる
- SpawnLocation はロブロックス(Roblox)標準。始めたときの場所
- Checkpoint は自作。踏んでおくと、やられてもそこから再開
- 中身のちがいは Script が入っているかどうか
Decalは面に貼った絵。あの模様の正体- スクリプトは2つのことだけ。踏んだら覚える/生まれ変わったら運ぶ
- 合図は
Touchedだけではない。CharacterAddedもある 4は少し上に出すため、180は向きを変えるためCheckpointはコピーして増やせる
次回は、先生が直した完成版を開きます。
同じこわれ方を、別の人がどう直したか。あなたの直し方と、どこがちがうでしょうか。正解は1つではありません。
