読者です 読者をやめる 読者になる 読者になる

クリアメモリ

プログラミングやモーショングラフィックス、便利なアプリケーションなど雑多に記録するブログ

Unity スイッチのようなオブジェクトを作るスクリプト

f:id:clrmemory:20170422143925p:plain 

今回は、Unityでアクションゲームを作っている時に役立つスイッチのようなオブジェクトを作る方法を紹介します。

 

 

はじめに

 

まずは、スイッチONの時の画像とスイッチOFFの時の画像を準備しておいてください。

今回はこのような画像を用意してみました。

 

 

 

 

このようにスイッチの画像が準備できたら、Unity側でからのオブジェクト(以下スイッチ)を作り、これらの画像を子オブジェクトにします。

 

 スクリプトを作成

 

次にスクリプトの処理を追加するのですが、

先にスイッチの中に空のオブジェクトとトリガーを追加しておきましょう。

 

 

トリガーが出来たらいよいよコードを追加します。

 

 

 

このようなコードを先ほど作成したトリガーに追加します。

Unity側からOnObjとOffObjのSizeを設定し、Element欄にON画像とOFF画像をドラッグしてください。

 

 

OnObjにOFF画像、OffObjにON画像といった具合ですね。

 

動作を設定

 

ここまできたら、肝心のスイッチを押した時の動作を加えていきます。

さきほど画像をドラッグしたのと同じように、スイッチを押した時に起動させたいオブジェクトや機能しなくさせたいオブジェクトをドラッグしていきます。

 

 

この時Sizeをオブジェクトの数と同じにするか、〇〇︎Objのあたりに追加するオブジェクトをドラッグするとSizeの数が増えていきます。

 

 

 

今回のコードでは、SpriteRendererとCollider2Dが入っているオブジェクトでないと機能しないようになっているので、もしコライダーだけを起動させたいという時には、空のSpriteRendererを追加してみてください。

 

 

これで、スイッチを押すとボタンが凹み、さらに任意の動作を実行できるスイッチが完成しました。

 

 まとめ

 

ちなみに、このトリガーのElementに他のスイッチのトリガーを追加するとスイッチを押すと別のスイッチが現れる、といった処理をすることもできます。

 

 

スイッチを使うことでアクションゲームのギミックに幅ができましたね。

ではまた。