> 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/beginner-tutorials/moving-platforms.md).

# 動くプラットフォーム

はじめにプラットフォームを設定します。

* アセットに**Basic Platform のビヘイビア**を設定します。
* 同じアセット に**Toggle Behaviour のコンポーネント** を設定します。

Toggle Behaviour のコンポーネントを使用すると、設定をOn にするようにメッセージを送信するまではアセットのビヘイビアをOff にしておくことができます。

* **Toggle Behaviour のコンポーネント**の下にある**Turn ON Message（メッセージをOnにする）**&#x306E;項目にメッセージを入力します。ここでは 「**platformOn**」と入力します。
* **Initial Behaviour State（最初のビヘイビアの状態）**&#x3092;**False** に設定します。

プラットフォームはゲームがスタートするときにはOff の設定になっていますが、「**platformOn**」のメッセージを受け取ると動き出すようになります。<br>

![](/files/-MPxpxaX8_6X_inJzQdK)

プラットフォームの設定が終わったら、次はプラットフォームにメッセージを送る設定をします。設定方法にはいくつかありますが、まずはプレイヤーがボタンを押したときにプラットフォームが移動する方法をご紹介します。

* アセットを配置し、**Button のビヘイビア**を設定します。
* Button のビヘイビアの項目の**Message to Send（送信するメッセージ）**&#x306B;Toggle Behaviour のコンポーネントで設定したメッセージを入力します。ここでは「**platformOn**」と入力します。

![](/files/-MPxq08z4rrtC1S5GGuz)

これでプレイヤーがボタンを押すとプラットフォームが動き出す設定が完了です。

次にプレイヤーが指定されたエリアに入ってきたときにプラットフォームが移動する方法をご紹介します。

* アセットを配置してこのアセットを **不可視**と**No Collisions（コリジョンなし）**&#x306B;設定します。そしてアバターを検知してプラットフォームをトリガーする設定をします。
* アセットに設定されているすべての**ビヘイビアを削除**して**Speaker のコンポーネントを追加**します。
* **Speaker のコンポーネント**の項目にある**Text to display（表示する文字）**&#x306E;欄にある入力内容もすべて削除します。
* **Display condition（表示条件）**&#x3092;**DetectEntity（エンティティを検知）**&#x306B;設定します。
* **Message When Spoken（コンタクト時メッセージ）**&#x306B;は「**platformOn**」のメッセージを設定します。

Detection Range（検知レンジ） が小さすぎないように設定します。設定値は3をお勧めします。

![](/files/-MPxsw2alPlSjDx8z4hp)

これで目に見えないオブジェクトの範囲にアバターが入るとプラットフォームの移動がOn になるメッセージを送る設定が完了です。この設定は他のアセットを倒したりオブジェクトを集めるときにも応用することができます。
