Ad
1: 2015-05-26 (Tue) 16:09:49 njf source Edit Backup No.1 as current.
With "attach" plugin. (Created empty)
Cur: 2015-05-27 (Wed) 01:32:05 njf source Edit
Deleted an attach file: pb_profile.png at 2015-05-27 (水) 00:27:35
Line 1: Line 1:
 +デバイスによって処理を変えるのは、出来るだけ「[[コードでデバイスの判定]]」の方法で同一コードで分岐させた方が良い。
 +とはいえ、ANEを利用する場合など、それが無理ならパブリッシュの設定で実際に書き出されるコードを切り替えることが出来る。
 +
 +
 +&ref(pb_profile_0.png,mw:480,mh:360);
 +
 +パブリッシュ設定からプロファイルの横の歯車アイコンで、プロファイルを必要なデバイスの数だけ複製して名前をつける。
 +たとえば「iOS」「Android」「Web」などである。
 +
 +それぞれターゲットを「Air for iOS」「Air for Android」「Flash Player」などにしておくと今後プロファイルを切り替えるだけでターゲットやその他の設定が切り替えられる
 +
 +つぎに「AcrionScript 3.0の詳細設定」で条件付きコンパイル定数を定義する。
 +たとえば、
 +
 + CONFIG::NJF_ANDROID true
 + CONFIG::NJF_WEB false
 +
 +と定義したとする。
 +
 +&ref(compile_const.png,mw:480,mh:360);
 +
 +こうすると、スクリプトで
 +
 + CONFIG::NJF_WEB {
 +    trace("web!");
 + }
 + CONFIG::NJF_ANDROID {
 +  trace("android!");
 + }
 +
 +と書くと、「android!」と出力される。「trace("web!")」の方はパブリッシュされたswfから完全に取り除かれている。
 +つまりC系言語のマクロのような物である。
 +
 +この方法で作成したプロファイル毎に条件付きコンパイル定数を定義すれば、各デバイス毎に処理を変えることが出来る。
 +
 +条件付きコンパイル定数によるブロックはかなり自由に設定でき、括弧を省略すると直後の定義に対して適用される。たとえば以下のように書く事も出来る。
 +
 + CONFIG::NJF_WEB
 + public function test():void{
 +    trace("web!");
 + }
 + 
 + CONFIG::NJF_ANDROID
 + public function test():void{
 +    trace("android!");
 + }
 +
 +上と同じ設定の下では、test関数の実行結果は「android!」である。


Front page   Edit Diff Backup Upload Copy Rename ReloadPrint View   New Page Page list Search Recent changes   Help   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom) Powered by xpWiki
Counter: 1132, today: 1, yesterday: 0
広告

ログイン

ユーザー名:


パスワード:





パスワード紛失


NJF