FlexのAlchemyライブラリを使用して、CファイルからSWCを生成しています。c-layerにバイト配列(unsigned char buffer[size]
)があり、ActionScriptレイヤーにとして戻したいByteArray
です。配列を反復処理して各要素を明示的に呼び出すAS3_Set
必要がありますか、それともC配列全体を一度に返す方法はありますか?
1165 次
2 に答える
2
これは、Alchemy APIのAS3_ByteArray_writeBytes関数を使用して実現できます。
于 2009-10-28T17:58:12.973 に答える
0
C では、Flash によって呼び出された関数から戻るときに、次のように C 配列へのポインターを返します。
int * myArray = malloc(100);
//populate array...
return AS3_Array("IntType", (int)myArray);
次に、フラッシュで:
import cmodule.<c module name>.MemUser;
...
memory = new MemUser();
for (var i:int = 0; i<4;i++) { //getting a 4 uints array
trace(memory._mru16(data[0] + i*4)); //data is the return value from C
}
または、これらの関数を使用して c-array から ints/floats/char を読み取ります (ByteArray.readInt() だけを使用することはできません。c の数値は異なる方法で表現されます)。
于 2010-12-23T00:15:51.613 に答える