如题。
以下来自:http://bbs.9ria.com/forum.php?mod=viewthread&tid=174302&highlight=flasCC
使用valueOf之类的API。下面是我的代码,希望能给你些提示: #include#include#include#include//using namespace AS3::local; void testInCxx() __attribute__((used, annotate("as3sig:public function testInCxx(_data:Vector.):String"), annotate("as3package:Test"))); void testInCxx() { //转换AS3的Vector.对象为C++ AS3::local::var 对象 AS3::local::var _vec; AS3_GetVarxxFromVar( _vec , _data); //取出数组中的元素,并复制给Double型变量f double f = AS3::local::internal::double_valueOf(_vec[2]); //声明AS3的Number类型变量d AS3_DeclareVar(d, Number); //将C的double类型数值f复制到AS3的Number类型d中 AS3_CopyScalarToVar(d, f); //将AS3的Number类型变量d返回给AS3,注意这里强制类型转换,返回值为String型 AS3_ReturnAS3Var( d ); } int main() { AS3_GoAsync(); }
上面的方法,测试没通过,生成swc直接报错了。思路应该没问题。有空再试试。
紧接前文(2015-7-16)。
经过不懈的努力,终于成功了。
参考:
http://bbs.9ria.com/thread-164329-1-1.html其实这篇帖子对于本问题没有帮助,以后肯定用的到。
http://licky3.rssing.com/chan-7810773/all_p1.html关键在于这篇。有用内容如下:
-lAS3++:如果使用了AS3/AS3++.h的类库,就需要加这个参数,不然编译会报错。
06/08/13--01:02: 如何使FlasCC编译的SWC文件变小
顺便再提一下另一项很实用的内容:
5、使用文本编辑器打开F:\Flash\FlasCC_1.0.1\samples\Makefile.common, 修改FLASCC及FLEX变量为下面的值:以便每次编译只需输入make就好
而不用带上很长的路径参数。
FLASCC:=/cygdrive/f/Flash/FlasCC_1.0.1/sdk
FLEX:=/cygdrive/c/flex
(说明:FLASCC=/cygdrive/你的flascc文件夹下面的sdk目录,FLEX=/cygdrive/你的FLEX SDK目录)
有些FLEX的目录一般默认都有空格,所以经常编译会报错,说路径不存在,所有最好把FLEX的SDK目录下的文件全部拷贝到根目录下,比如D:/sdk。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。