1

我正在使用 Flex 的 Alchemy 库从 C 文件中生成 SWC。我在 c 层中有一个字节数组 ( unsigned char buffer[size]),我想将它作为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);

然后,在 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 回答