各環境共通のLWFの作り方
目次 |
はじめに
LWFはHTML5、Unity、cocos-2d-x等の様々な環境で動かすことが出来ます。
LWFには制御用のAPIがあり、これらを利用することで動的に動かしたりすることができます。
HTML5ではjavaScript。cocos-2d-xではC++を利用するという形になり、ここから先は各環境に合わせた実装が必要になってきます。
しかし、アニメーションの作り方、タイムライン制御、イベント発生、ラベル設定 等はどの環境でも、ほぼ共通になっています。
このwikiはHTML5版で動かすことを想定した情報が主ですが、各環境共通のLWFを制作する方法にも触れていきたいと思います。
アニメーション
アニメーションに関しては作り方はHTML5版と変わりません。
フレームスクリプトは一部タイムライン制御用を除いて使用することは出来ません。
加算効果などをかけたい場合はブレンドモードを加算にしてください。
(2013/12のバージョンからブレンドモード加算に対応)
タイムライン制御
各環境で問題ない構造にするためには、環境に依存してしまうフレームスクリプトは使用できません。
/* js this.gotoAndPlay(2) */
※上記はjsに依存する書き方なので、HTML5以外では使えません。
各環境で問題ないようにする場合はactionScriptを使用します。
実はLWFは stop()、play()、gotoAndPlay() 等の簡単なタイムライン制御のasを使用することができます。
これらをフレームスクリプトに使用することで各環境で問題なくタイムライン制御を行うことが出来ます
【対応一覧】
・play()
・stop()
・gotoAndPlay(フレーム 又は ラベル名)
・gotoAndStop(フレーム 又は ラベル名)
イベント発生
下記のスクリプトでLWFに対してイベントを発生することができます。
fscommand("event","EVENT_NAME");
focommand()の第1引数には"event"
第2引数には発生させたいイベント名を入れてください
イベントを受け取る場合は下記のスクリプトを記述します。
//html5版の場合 <LWFインスタンス>.setEventListener("EVENT_NAME",function(){ console.log("イベントを受け取りました!"); });