by @sharkattack51

January 17, 2016

sublime での as3 ビルド設定

FlashDevelop が mac - CrossOver 使っても満足する感じで使えなかったので sublime でのセットアップメモ。

AIR SDK のダウンロード

http://www.adobe.com/devnet/air/air-sdk-download.html

Build Systemの追加

ここ https://gist.github.com/newtriks/3131123 を参考に sublime の build system を追加。 ~/LIbrary/Application Support/Sublime Text 3/Packages/User の下に置く。

{
	"cmd": [
		"/AIR_SDK_PATH/bin/mxmlc", 
		"$file",
		"-static-link-runtime-shared-libraries=true",
		"-load-config+=${file_path}/../sublime_build_config.xml"
	],
	"file_regex": "(.*)[(](\\d+)[)]:(?: col: (?:\\d+))? *Error: (.*)",
	"selector": "source.actionscript",
	"variants": [
		{
			"cmd": [
				"open '/Applications/Flash Player.app' ${file_path}/../bin/${file_base_name}.swf"
			],
			"shell": true,
			"name": "Run"
		}
	]
}

-load-config オプションで xml の Build コンフィグを利用するようにする。

<?xml version="1.0"?>
<flex-config>
	<target-player>20.0</target-player>
	<swf-version>31</swf-version>
	<compiler>
		<accessible>true</accessible>
		<source-path>
			<path-element>src</path-element>
			<path-element>lib</path-element>
		</source-path>
		<show-actionscript-warnings>true</show-actionscript-warnings>
		<debug>true</debug>
		<library-path>
			<path-element>gui</path-element>
		</library-path>
		<optimize>true</optimize> 
	</compiler>
	<output>bin/Main.swf</output>
</flex-config>

あとコンパイルオプションはここが詳しい。 https://sites.google.com/site/shin1ogawa/adobe-air/mxml-compile

Java 実行バージョン変更

fdb 実行のために Java を 32bit 対応バージョン v1.6 へ変更する。 標準でインストール済なので環境変数 JAVA_HOME の参照先を変更するのみ。 .zshrc に追加した。

$ export JAVA_HOME=$(/usr/libexec/java_home -d32)

コンソール出力の文字化け対応

Java の文字コードが OSX と異なるために文字化けする。 以下ファイル内の最終行、java コマンドに encoding オプションを追加する。

  • bin/compc
  • bin/fdb
  • bin/mxmlc

変更 : java -Dfile.encoding=UTF8 $VMARGS...

その他

デバッグ実行

fdb コマンドを .zshrc に alias で追加した。デバッグ時はこっちで起動する。 .sublime-build で BUild - Run でデバッグ実行したかったが、java の切り替えが上手くいかなくて起動できなかった。

$ fdb -f SWF/TO/PATH

fdb 使い方

http://qiita.com/tutui/items/1c1b79572c0d82ea3983

// 次のブレークポイントまで実行 : c(continue)
(fdb) c
// 変数表示 : p (print)
(fdb) p value
// ステップ実行 : s (step)
(fdb) s
// 強制終了 : k (kill)
(fdb) k
// fdb終了 : q (quit)
(fdb) q

// ブレークポイントの設定方法 : b (break)
(fdb) b 行番号
(fdb) b 関数名
(fdb) b test.as:10 (test.asの10行目に設定)
(fdb) b test.as:execute (test.asのexecute()に設定)
// 設定中のブレークポイントの確認方法 : i b (info break)
(fdb) i b
// 設定中のブレークポイントの削除方法 : d (delete)
(fdb) d Num (i bで表示された「Num」カラムの値を指定)

// ヘルプ : help
(fdb) help

FlashDevelop からの移行の場合

Build コンフィグの xml を引き継いで使うのが良い。一部パス設定の変更と、項目の追加を行う。

追加 <swf-version>31</swf-version>

.sublime-build の コンフィグ xml 指定パスも変更する。