第5章ではいよいよスプライトを使用します。 スプライトはParaFlaにおいて非常に重要かつ強力な概念・機能です。 これをうまく使えるようになれば、ParaFlaの世界がグッと広がると思います。 スプライトの強力な所は、通常のオブジェクトと違って、 スプライト自体にAction Scriptを記述できることです。 (これをクリップアクションと言います。) 例えば、赤丸と青丸を右側に移動させるようなFLASHを考えます。 通常のオブジェクトのみを用いた場合、 「赤丸表示→青丸表示→赤丸移動→青丸移動」 としか記述できないため、赤丸と青丸が同時に移動するということが出来ません。 しかし、スプライトを用いて赤丸と青丸を表示した場合、 「赤丸スプライト表示→青丸スプライト表示」、かつ、 「赤丸スプライトに『右側に移動』というクリップアクションを記述」 「青丸スプライトに『右側に移動』というクリップアクションを記述」 とすることで、赤丸と青丸を独立して移動させることが出来ます。 イメージ的には、スプライトを使用することで、 独立して操作できるオブジェクトを複数作ることが出来る、といった感じです。 スプライトを脱出ゲームに用いていくわけですが、本章では、 「ボタンの近くにOFFという表示があり、ボタンを押すとONという表示に変化する」 という機能を実装することにします。 現状ですと、ボタンが押されたかどうかという情報は、 _root.room3_buttonというフラグで管理しています。 そこで、button_hyoujiというスプライトを新たに作成しまして、 これを用いてON・OFFを表示させます。 また、button_hyoujiクリップアクションにおいて _root.room3_buttonの状態を常に監視し、 _root.room3_buttonがfalseであればOFFを表示、 _root.room3_buttonがtrueであればONを表示という処理を記述します。 それでは、早速実装していきます。 ここでは、部屋3に設置された押しボタンの隣に、 ON・OFFという表示窓を設置することにします。 5章では押しボタンの使用を少し変更しまして、 「OFFのときのボタンを押すとON、ONのときにボタンを押すとOFFになる」、かつ、 「ボタンがONのとき部屋2の箱を開けることが可能になる」とします。 今回、追加した絵は以下の通りです。 ・OFF.pdr ・ON.pdr さらに「スプライト:button_hyouji」を作成しまして、 OFF.pdr、ON.pdrを、スプライト:button_hyoujiに追加します。 このとき、以下のようにラベルと停止も一緒に追加しておきましょう。 そして、このスプライトをroom3上に配置し、かつ、 クリップアクションを記述します。 記述するクリップアクションは以下の通り。
onClipEvent (enterFrame) { if (_root.room3_button == false){ this.gotoAndPlay("OFF"); }else{ this.gotoAndPlay("ON"); } }
onClipEvent (Load) { if (_root.room3_button == false){ this.gotoAndPlay("OFF"); }else{ this.gotoAndPlay("ON"); } } - onClipEvent (enterFrame) { if (_root.room3_button == false){ this.gotoAndPlay("OFF"); }else{ this.gotoAndPlay("ON"); } }