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で記述してください。