1

FlexのAlchemyライブラリを使用して、CファイルからSWCを生成しています。c-layerにバイト配列(unsigned char buffer[size])があり、ActionScriptレイヤーにとして戻したいByteArrayです。配列を反復処理して各要素を明示的に呼び出すAS3_Set必要がありますか、それともC配列全体を一度に返す方法はありますか?

4

2 に答える 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 に答える