最近遇到的jsfl开发问题总结

发布于 2013-08-28  328 次阅读


最近在用jsfl开发一套把MUGEN角色动画和数据导入flash的脚本。遇到不少问题,这里备忘一下:

1.绘制笔刷和填充的问题 更换填充和笔刷需要用如下的代码 而不是随便设置一下doc的属性


1 var f = doc.getCustomFill("toolbar");
2 f.color = 0xff0000;
3 f.style = "solid";
4 doc.setCustomFill(f);

范例

 

2.设定元件导出到as3要按照如下步骤,如果顺序错误可能出现一些莫名其妙的报错:


            lib.setItemProperty('linkageExportForAS', true);
lib.setItemProperty('linkageExportForRS', false);
lib.setItemProperty('linkageExportInFirstFrame', true);
lib.setItemProperty('linkageBaseClass','flash.media.Sound');
lib.setItemProperty('linkageClassName','sound'+soundGroup+'_'+soundNo);

范例2

 

3.导入大量资源的时候flash ide会卡死,js没有提供另外的显示进度的方法。为了解决这个问题,我使用C语言开发了一个扩展,在另外一个线程的窗口里显示导入的进度。使用c开发win32多线程程序的时候要注意,另外线程的窗口不能作为原线程的子窗口,不然它的消息都会丢给原来线程处理,和单线程一样了。另外线程之间通信,从一个线程里设置另外线程的窗口,不能直接调用一般函数,而只能用SendMessage,否则会没有效果。

 

4.脚本长时间等待会出提示是否中断脚本的执行,开发了一个C扩展,用win32 api在固定的时间间隔内搜索特定类型和标题的窗口(用spy++先看好目标窗口注册的窗口类和标题),用SendMessage发送键盘回车消息。期间发现有时候这个办法会失效,用api把输入焦点切换到桌面再立刻切回就能让它继续执行下去,原因不明,只是刚好看到手动切换时候会解决一部分自动按回车的动作停滞的情况。

 



点击数:91


一沙一世界,一花一天堂。君掌盛无边,刹那成永恒。