Question

J'utilise la bibliothèque Alchemy de Flex pour générer des fichiers C non SWC. J'ai un tableau d'octets ( tampon de char non signé [taille] ) dans le calque c que je voudrais renvoyer au calque ActionScript sous forme de ByteArray . Dois-je parcourir le tableau et appeler explicitement AS3_Set sur chaque élément ou existe-t-il un moyen de simplement renvoyer le tableau C entier en une fois?

Était-ce utile?

La solution

Ceci peut être accompli en utilisant le AS3_ByteArray_writeBytes de l'API Alchemy.

Autres conseils

En C, lorsque vous revenez de la fonction appelée par Flash, renvoyez le pointeur sur le tableau C, comme suit:

int * myArray = malloc(100);
//populate array...
return AS3_Array("IntType", (int)myArray);

Ensuite, en 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
}

Ou utilisez ces fonctions pour lire les ints / floats / char du tableau c (vous ne pouvez pas utiliser simplement ByteArray.readInt (), les nombres de c sont représentés différemment)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top