К сожалению, вы не можете просто отправить структуру данных Си.У вас есть три варианта, в порядке возрастания безумия:
- Сериализация данных на стороне C и восстановление их на стороне AS3.
- Упаковка данных в объекты иверните их.
- Передайте указатель и размер обратно в AS3 и извлеките данные из барана Altemy ByteArray.
Я включаю только 3 для полноты - я думаю, чтосумасшедший, чтобы попробовать это для любой сложной структуры данных.Код был бы хрупким.Следующие указатели были бы неуклюжими.Bleah.
Для # 2 вы можете использовать динамические объекты (через AS3_Object) или конкретные (через AS3_Get, AS3_New).Это довольно сложный код также и не так быстро.Может быть трудно поддерживать.
Для # 1 важен тип сериализации.Вы могли бы сделать так, чтобы ваш код на C отображал структуры в двоичный файл, возвращал его и AS3 анализировал формат файла через ByteArray.Или вы можете отобразить его в XML и сделать так, чтобы XML-класс AS3 анализировал его.Преимущество в том, что он довольно быстрый (так как XML реализован изначально), по крайней мере, в конце десериализации.Если у вас есть быстрый рендерер XML на стороне C (или, хм, sprintfs), это не так уж и плохо.