# 光るスピンリングの作成

イメージこのチュートリアルでは光るスピンリングの作成方法をご紹介します。このテクニックを様々なシチュエーションに適用してクリエイティブな体験を作りましょう。<br>

![イメージ画像](https://miro.medium.com/max/900/0*DWWEsV8vBhEdNfvt.gif)

何もない場所からリングをスポーンさせるためにはまずプリセットを作成します。

* 「L」キーを押してライブラリを表示させ、「Light」と検索します。

光るリングには**Light Jo** と呼ばれる光る長い棒のアセットを使用します。\
このアセットがない場合はMarketplace（マーケットプレイス）のボタンをクリックしてストア内から探すことができます。ライブラリに追加したらGame Maker を再起動し、アセットが追加されているかを確認します。<br>

![イメージ画像](https://miro.medium.com/max/2400/0*r9sIvRrOe8xJSXei.png)

* **Light Jo** を選択し、**Bird のビヘイビア**を追加します。
* **Flying Speed（飛ぶスピード）**&#x3092;**3**に設定します。
* **Fly Min Width（飛行最低幅）** と**Fly Max Width（飛行最高幅）**&#x3092;**1.8**に設定します。
* **Fly Min Height（飛行最低高度）**&#x3068;**Fly Max Height（飛行最高高度）**&#x3092;**2**に設定します。

上記の設定が正確に行われていることが重要になります。正しく設定されていないと正確に表示されません。設定を変更しながら表示がどのように変化するかを確認してみましょう。

![Image for post](https://miro.medium.com/max/2400/0*a0m-vBU2TCZjNm92.png)

次にリングを作成するにあたり重要になる**Transform（トランスフォーム）**&#x306E;設定をします。まずは**LOGIC（ロジック）**&#x3092;閉じます。

![イメージ画像](https://miro.medium.com/max/1464/0*ekv-vaAOZhtV6fbF.png)

**Transform** の**X**と**Z**の**Position（座標）**&#x306E;小数点以下を00と設定します。

![イメージ画像](https://miro.medium.com/max/1564/0*OdDR30hV2W5GftMG.png)

* CTRL +「D」キーで**Light Jo** のアセットを複製します。
* 新しく複製された**Light Jo** を選択し、**Transform** の**Y**の**Rotation（回転）**&#x3092;**60**に設定します。
* **X** と**Z** の**Transform** の**Position** を1つ目の**Light Jo** と同じ数字に変更します。（この場合**X = 42**、**Z =61**）

![イメージ画像](https://miro.medium.com/max/1639/0*4DXYKkCF8IBf8NXD.png)

* CTRL +「D」キーで**Light Jo** のアセットを再度複製します。
* 新しく複製された**Light Jo** を選択し、**Transform（トランスフォーム）**&#x306E;**Y**の**Rotation（回転）**&#x3092;**120**に設定します。
* **X** と**Z** の**Transform** の**Position（座標）**&#x3092;1つ目の**Light Jo** と同様に変更します。（この場合**X = 42**、**Z =61**）

**合計6つのLight Jo** を作成するまでこの作業を繰り返します。**Transform** の**Rotation** のY には直前に作成したものに**60を足していった数字**（**60の倍数**）を入力し、**Position** のX とZ には毎回同じ数字を入力します。

![イメージ画像](https://miro.medium.com/max/1589/0*KXMb2r5BCybFLqlN.png)

設定が完了したらテストをして下記の画像のようになっていればOKです。

**注意点**：Bird のビヘイビアを設定するとMin Height（高さ最小値）とMax Height（高さ最大値）の数値が変更になってしまう場合があります。完成図が以下の画像と異なる場合は設定をもう一度確認してください。&#x20;

![イメージ画像](https://miro.medium.com/max/900/0*YzuFtXGXoOJksUxf.gif)

光るリングを作成する際に使ったテクニックは他にも使用することができます。例えば、頭がくらくらしている状態を表すために頭の上に星や鳥を使ったリングを作成することもできます。

リングを設定するにはリングをアセットと親子化し、プリセットを作成する必要があります。以下の作成方法を参考にしてください。

* 「**L**」キーで**ライブラリ**を表示し、NumPad Switch を選択します。
* **NumPad Switch** の場所を**Light Jo** の真ん中付近に移動させます。
* **Physics（物理的設定）**&#x306F;**No Collisions（コリジョンなし）**&#x3092;設定します。

![イメージ画画像](https://miro.medium.com/max/2400/0*FI-Z-ivQTgbUzxUw.png)

* **NumPad Switch** を3 ブロック分地面の下までドラッグします。手動でドラッグしても、**Transform（トランスフォーム）**&#x306E;**Position（座標）**&#x306E;**Y** に **-3** と入力して設定することもできます。

Game Maker では地上にあるNumPad Switch は表面に出てしまうと見える状態になってしまい、さらに、見えない設定にした場合それに紐づいているすべてのアセットが見えなくなってしまうため上記の設定が必要になります。

![イメージ画像](https://miro.medium.com/max/2400/0*gbuFHePssVL6Ykz1.png)

**NumPad Switch** が正しい位置に配置されたら、**Light Jo** と親子化します。

* 画面左下の**Hierarchy （ヒエラルキー）**&#x306E;ボタンをクリックします。

**注意点**：上記の設定を行うと使用されているアセットのリストが表示されます。表示されない場合、またはバグと思われる場合はゲームを保存してホームページまで戻ってください。マップを再読み込みすることでリストが修正されます。

![イメージ画像](https://miro.medium.com/max/2400/0*K1Pw-5oIv63mr1jB.png)

* **Hierarchy（ヒエラルキー）**&#x306E;リスト上にある**Light Jo** の名前の右側に位置する的のアイコンをクリックします。それを同じメニューの**NumPadSwitch** の上にクリック＆ドラッグします。同じ作業を6つの**Light Jo** に行うと以下のスクリーンショットのように表示が切り替わり親子化されたことが確認できます。

![イメージ画像](https://miro.medium.com/max/2400/0*P79ZzI00A3gqV9Vl.png)

次にプリセットの設定をします。

* すべての**Light Jo** をリンクさせた**NumPadSwitch** を**Hierarchy（ヒエラルキー）**&#x306E;リストから探し出します。
* NumPadSwitch の名前の一番右側に位置する**3本線のアイコンをクリック**します。
* **To Preset（プリセット）**&#x3092;クリックします。

![イメージ画像](https://miro.medium.com/max/1423/0*ubnSRWSntOXwG7jJ.png)

* **\<Create new Preset>（新しいプリセットの作成）**&#x3092;クリックして設定します。

![イメージ画像](https://miro.medium.com/max/2400/0*IRdFxyiDvbWQ92iC.png)

これで光るリングのプリセットの設定が完了しました。すべてのLAND ファイル上でLoot のコンポーネントを持ったものとして呼び出すことができるようになります。\
\
使用方法例を簡単に紹介します。

* 光るリングのプリセットを呼び出したい場所に**NumPadSwitch** を配置します。
* **Health** と**Loot** のコンポーネントを追加します。
* **Health** のコンポーネントのDeath Delay（リスポーンまでの時間）を **-2**に、**Message to kill（倒す時のメッセージ）**&#x3092; **Kill1** に設定します。
* **Loot** の**コンポーネント**のプリセットの設定を変更し、前に作成した光るリングのプリセットを選択します。（名前とアイコンはNumPadSwitch となっている可能性があります。）

![イメージ画像](https://miro.medium.com/max/2400/0*AeTVVkg5rQet6RHr.png)

最後に、今作成した**NumPadSwitch** にKill のメッセージをトリガーするアイテムを設定する必要があります。倒された時に設定したアイテム（この場合光るリング）をドロップするように設定します。

* ボタンとして機能する**NumPadSwitch** をもう1つ設置します。
* NumPadSwitch に**Button** のビヘイビアを設定します。
* **Message to send（送信するメッセージ）**&#x306B;**Kill1** を入力します。

![イメージ画像](https://miro.medium.com/max/2400/0*TLaekqYM3HYVJil-.png)

&#x20;これでボタンを押すと設定したアイテムを呼び出す、もしくはドロップしてアセットが倒されるトリガーが設定されました。複数の光るリングを設定したい場合は地上に設定したHealth のコンポーネントを持つNumPadSwitch を複製してください。その際、Position は適宜設定してください。

![イメージ画像](https://miro.medium.com/max/900/0*MJIFw8_COl_Gix2g.gif)

無限の可能性を秘めたこのテクニックを体験に使ってみましょう。
