فليكس خيمياء: إرجاع ByteArray من وظيفة C
-
06-07-2019 - |
سؤال
وأنا أستخدم مكتبة الكيمياء فليكس لتوليد خارج SWC من ملفات C. لدي مجموعة بايت (unsigned char buffer[size]
) في ج-الطبقة التي أود العودة إلى طبقة أكشن باعتبارها ByteArray
. هل يجب تكرار خلال مجموعة وصراحة استدعاء AS3_Set
على كل عنصر أم أن هناك طريقة لمجرد العودة C مجموعة كاملة دفعة واحدة؟
المحلول
ويمكن تحقيق ذلك عن طريق استخدام في AS3_ByteArray_writeBytes ظيفة API الخيمياء.
نصائح أخرى
في C، عند عودته من وظيفة التي دعا اليها فلاش، يعود المؤشر إلى 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
}
هذه الوظائف للقراءة [إينتس] / تعوم / شار من ج-مجموعة (لا يمكنك فقط استخدام ByteArray.readInt ()، يتم تمثيل الأرقام في ج مختلفة)
لا تنتمي إلى StackOverflow