Flashでゲームパッドを使いたい。参考: http://ics-web.jp/lab/archives/512
それにはFlashPlayer 11.8以上のswfを生成しなくてはならない。 有料のFlash CCでもできるけど、FlashDevelop とFlex SDKを使い、無料でやってみようと思う。
Install FlashDevelop
http://www.flashdevelop.org/ でinstallerをdownload。exeを実行→すでにFlashDevelop4がインストール済みならアップデート。
Install Apeche Flex SDK
C:\Program Files (x86)\FlashDevelop\Tools\appman\AppMan.exeを実行する。
Apache Flex SDK 3.1 Installer(これでApacheFlex 4.13をインストールできるらしい)を選択してOKすると、なにやらエラーが出る。
しかたないので、 http://flex.apache.org/download-binaries.html でWindows向けApacheFlexSDK binary apache-flex-sdk-4.13.0-bin.zip をdownload。 C:\home\bin\ApacheFlex4_13 に展開。 (C:\Program Files (x86)\FlashDevelop\Tools\flexsdk4_13 に展開するのを試したが、消せないフォルダ作られてしまい、Windows7の不具合に嘆息した。Program Files以外に再展開した)
Setting Apeche Flex SDK
FlashDevelopを起動して、 [Tools > Program Setting > AS3Content > Install Flex SDKs > add(追加)] で C:\home\bin\ApacheFlex4_13 を指定する。[↑]ボタンで一番上に持っていく。
Install and setting Flash Player
C:\Program Files (x86)\FlashDevelop\Tools\appman\AppMan.exeで、Standalone Flash Playerをインストール。(このflashplayer_14_sa_debug.exeというのはダウンロードしたファイルがインストーラーでは無くて、そのまま実行できるファイル)
インストールするだけで、 [Tools > Program Setting > FlashViewer > External Player Path]も自動で設定された。これは便利。
Verify Flex SDK
FlashDevelopで適当なプロジェクトを作成し、適当なサンプルプログラムを作成する。 [Project > Property > SDK] でApache SDK 4.13が選択されているか確認する。 [Project > Property > Output] でFlashPlayer 14を選択する。
ビルドしてみると、はいOK。
package {
import flash.display.Sprite;
import flash.events.Event;
/**
* ...
* @author foo
*/
public class Main extends Sprite {
public function Main():void {
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void {
removeEventListener(Event.ADDED_TO_STAGE, init);
// entry point
var spr:Sprite = new Sprite();
spr.graphics.beginFill(0xcc9999);
spr.graphics.drawCircle(100, 100, 50);
spr.graphics.endFill();
addChild(spr);
}
}
}Setting SWF version
しかしswfファイルのバージョンを見ると 0x0e つまり -swf-version=14、つまり http://sleepydesign.blogspot.jp/2012/04/flash-swf-version-meaning.html によると FlashPlayer 11.1向けのswfではないか。これではわざわざApacheFlex導入した意味がない。
[Project > Property > Compiler Options] で -swf-version=25 と指定する。この25は http://sleepydesign.blogspot.jp/2012/04/flash-swf-version-meaning.html によるFlashPlayer14の内部バージョン。 そしてビルドしてswfを調べると 0x19 = 16 + 9 = 25 なのでバッチリ FlashPlayer14向けのswfを生成できた。







0 件のコメント:
コメントを投稿