> For the complete documentation index, see [llms.txt](https://docs.sandbox.game/game-maker-academy-jp/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.sandbox.game/game-maker-academy-jp/tutorials-1/advanced-tutorials/4-way-teleport-system-refined.md).

# 4方向テレポートシステム – 最新版

4つのスポーンロケーションと1つのメッセージでテレポートシステムを簡単に構築する方法をご紹介します。

* ボタンとして使用する基本のアセットを配置します。ここでは**NumPad Switch（番号スイッチ）**&#x3092;使用します。
* アセットにAsker のビヘイビアを追加します。
* ここではわかりやすくするために**Answer（回答）**&#x3068;**Message sent（送信されたメッセージ）**&#x306B;それぞれ１，２，３，４を入力します。（下記イメージ参照）
* CTRL+「D」キーで**アセットを**三つ**複製**し、テレポートで行き来したい場所にそれぞれを配置します。

![](https://10474629-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MO_j99BJEXK4zHqxgqS%2F-MT89p_yeckbjJo6L-Vp%2F-MT8A0sXhWPl-LUOGB-_%2FTeleport_1.png?alt=media\&token=1fba3244-2d30-4d39-b20a-85a26ee779f3)

次にアバターがどのようにして倒され、リスポーンするのかを設定します。

* 画面上部の**Global Parameter（グローバルパラメーター）**&#x306E;ボタンをクリックします。
* **CONTROLLER（コントローラー）**&#x3092;クリックします。
* **COMPONENTS（コンポーネント）**&#x3092;クリックします。
* **Death Event（死亡理由）**&#x3092;**RespawnToTag（リスポーンしてタグ）**&#x306B;変更し、**Death Delay（リスポーンまでの時間）**&#x3092;**-2** に設定します。
* **Respawn Tag（リスポーンタグ）**&#x3092;**spawn1**に変更し、**Instant death message（死亡時メッセージ）**&#x3092;**Killx**に設定します。

![](https://10474629-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MO_j99BJEXK4zHqxgqS%2F-MT89p_yeckbjJo6L-Vp%2F-MT8BDkStXDSIReM0z_K%2FTeleport_2.png?alt=media\&token=2ee625bd-5d24-4c85-a065-52131efe2c35)

次に設定内容が反映されるようにプリセットを作成します。<br>

* **2 つのNumPad Switch**のアセットを上記で作成したスイッチの近くに隣り合わせに配置します。
* 一つを**SPAWNER**と名前を付け、もう一つを**SPWNERKiller**と名前をつけ、両方ともNo collisions（コリジョンなし）に設定します。
* **SPAWNER** のアセットを選択し、**Message Broadcaster** のビヘイビアを追加します。
* **Visible（可視性）**&#x3092;**False** に、**Message to Send（送信するメッセージ）**&#x306F;**Killx** に設定します。
* **Broadcaster Only Once（一度だけブロードキャスト）**&#x3092;**True** に設定します。
* **Speaker** のコンポーネントを追加し、**Text to display（表示する文字）**&#x3092;削除して、**Display condition（表示条件）**&#x3092;**DetectEntity（エンティティを検知）**&#x306B;設定します。
* **Message When Spoken（コンタクト時メッセージ）**&#x3092;**KillSpawn** に設定します。
* **Tag** に**spawn 1** を設定します。

![](https://10474629-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MO_j99BJEXK4zHqxgqS%2F-MT8O9EiBzDAyuttzQMU%2F-MT8SVZVdQDgm1wJHV0h%2FTeleport_3.png?alt=media\&token=81f74dfd-0844-41ad-a0fd-06c9448249b8)

* **SPAWNERKiller** のアセットを選択し、**Health のコンポーネント**を設定します。
* **Death Delay** &#x3092;**-1** に設定し、Instant death message を**Killspawn** に設定します。
* Life Bar Display（ライフバー表示）をHidden（隠す）に設定します。

![](https://10474629-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MO_j99BJEXK4zHqxgqS%2F-MT8O9EiBzDAyuttzQMU%2F-MT8VRlCn8LAyL8eAvBx%2FTeleport_5.png?alt=media\&token=6dd9ea95-7b91-4231-9b9b-3ab1254c0be0)

次にアセット同士を親子化します。画面左側にあるサイドバーの左下にある**HIERARCHY（ヒエラルキー）**&#x3092;開きます。

* **Spawn** と入力して絞り込み検索をします。
* **SPAWNER** の右横にある**的のアイコン**を**SPAWNERKiller**の名前までクリック& ドラッグして親子化します。下記を参照しながら正しい方法で親子化してください。

![](https://10474629-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MO_j99BJEXK4zHqxgqS%2F-MT8O9EiBzDAyuttzQMU%2F-MT8W44LbItnUdK4D5FX%2FTeleport_6.png?alt=media\&token=943a5ec4-1fe3-445d-b764-c29acb5e7f78)

**SPAWNERKiller** のアセットが選択されている状態で画面左側のサイドバーにあるPreset のボタンを押して、新しいプリセットを作成します。

![](https://10474629-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MO_j99BJEXK4zHqxgqS%2F-MT8O9EiBzDAyuttzQMU%2F-MT8WjdmUc5YIZLHp1xb%2FTeleport_8.png?alt=media\&token=5add5fb2-a78b-4462-b36f-432fb00e68ea)

プリセットの作成が完了したら、2つのアセットを削除します。（2つのアセットはプリセットとして保存されたため）

\
**注意点**：新たに作成したプリセットを反映させる場合はGame Maker を再起動する必要がある場合があります。

最後にそれぞれの場所でプリセットをスポーンさせる設定を行います。

* 新しい**NumPad Switch** を設置します。
* 上記の**NumPad Switch** に**Asset Spawner** のビヘイビアを設定し、physics（物理的設定）はNo collision（コリジョンなし）に設定します。
* **Visible**（可視性）を**False** に設定します。
* **Use Preset（プリセットを使用）**&#x3092;**True** に設定し、Preset には作成した**SPAWNERKiller** を選択します。
* **Message Required（必要なメッセージ）**&#x3092;**1** に設定します。

![](https://10474629-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MO_j99BJEXK4zHqxgqS%2F-MT8O9EiBzDAyuttzQMU%2F-MT8X22p-yVDX5f6lj9o%2FTeleport_9.png?alt=media\&token=2d6b8faf-c039-4e39-8cbf-a4ca4fe0c84e)

**CTRL+**「**D**」 で**Asset Spawner** を複製し、他のスポーンロケーションにドラッグします。**Message Required（必要なメッセージ）** を**2** に変更し、**3**、**4** も上記と同様に設定します。

![](https://10474629-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MO_j99BJEXK4zHqxgqS%2F-MT8O9EiBzDAyuttzQMU%2F-MT8X5b2fc9qa9IbQ2O9%2FTeleport_10.png?alt=media\&token=274e1f22-1081-451b-aaeb-7c9b1e64e5b1)

これで4方向テレポートシステムの設定が完了です。
