Java言語からActionScriptへの変換基礎 |
Flashアプリのソースの記述言語はActionScriptです。iアプリからFlashアプリへ移植する場合、Java言語からActionScriptへ変換して記述する必要があります。
変数の宣言 |
ActionScriptでは、変数は全て var として定義します。例えば次のようになります。
Java | ActionScript |
int a; boolean b; Random c; |
var a:Number; var b:Boolean; var c:_Random; |
なお、ActionScriptでの変数定義の記述において、コロン(":")以降の型名は省略できます。例えば上記の記述は、次のようにしても問題ありません。
var a; var b; var c; |
配列の宣言 |
ActionScriptでは、配列の定義も変数と同様に var として定義します。例えば次のようになります。
Java | ActionScript |
int[] a; a = new int[10]; |
var a:Array; a = new Array( 10 ); |
Java | ActionScript |
int[][] a; a = new int[2][10]; |
var a:Array; a = new Array( 2 ); a[0] = new Array( 10 ); a[1] = new Array( 10 ); |
また、ActionScriptでは、配列の初期化の記述には"["と"]"を使用します。例えば次のようになります。
Java | ActionScript |
int[] a = { 12, 34, 56 }; int[][] b = { { 1, 2, 3 }, { 4, 5, 6 } }; |
var a:Array = [12, 34, 56]; var b = [ [1, 2, 3], [4, 5, 6] ]; |
関数の宣言 |
ActionScriptでは、関数の宣言には function を使用します。例えば次のようになります。
Java | ActionScript |
void abc( int a, boolean b ){ … } int def(){ … } |
function abc( a:Number, b:Boolean ):Void { … } function def():Number { … } |
数値を表す型について |
ActionScriptでは、数値を表す型は Number 型(実数)になります。Javaでの int 型は Number 形に置き換えられることになりますが、ここでの注意点は、整数での除算や剰余の箇所を全て変更する必要があることです。
もっとも容易な対応は、「_Global.h」に定義されているマクロを使用することです。
「_Global.h」に定義されているマクロ:
#define _DIV( a, b ) _Math.div( a, b ) #define _MOD( a, b ) _Math.mod( a, b ) |
このマクロを使用し、次のように書き換えます。
Java | ActionScript |
b = a / 100; c = rand.nextInt() % 10; |
b = _DIV( a, 100 ); c = _MOD( rand.nextInt(), 10 ); |
文字列から数値への変換について |
文字列から数値へ変換するには、Javaでは Integer クラスの parseInt() メソッドを使用しますが、ActionScriptでは、Number(str) のように記述することで行うことができます。
文字コードについて |
最後に、ソース記述に使用する文字コードは、UTF-8であることに注意してください。
なお、ソース以外にも、ツール「swfmill」に渡すXMLファイルや、ツール「string2xml」に渡す文字列リソース定義ファイルも同様にUTF-8で記述してください。