我正在使用 Flex 的 Alchemy 库从 C 文件中生成 SWC。我在 c 层中有一个字节数组 ( unsigned char buffer[size]
),我想将它作为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);
然后,在 Flash 中:
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 数组中读取 ints/floats/char(不能只使用 ByteArray.readInt(),c 中的数字表示不同)
于 2010-12-23T00:15:51.613 回答