+ -
当前位置:首页 → 问答吧 → jsfl+as3做的一个小工具,用来显示帧上的对象

jsfl+as3做的一个小工具,用来显示帧上的对象

时间:2011-01-10

来源:互联网

Flash cs 上用的一个便捷小工具,用来显示当前所在帧下的所有对象的选择,目前放出来的只是一个小的测试版本,可能会有些bug,画面有些粗糙,其它功能还有待扩展。
制作这个小工具的目的是解决以下的两点耗时问题:
1、帧上会放些对象(这里的帧包括库中影片剪辑上的帧),或者一个看不见的空壳,或两个对象重叠而导致的不能很好的选中;
2、打开别人的fla,或者很久以前制作的fla时,不清楚帧上都有哪些对象。

可能对jsfl还不太熟悉,所以编制出来的效率也不太好(找不到mouseDown的方法或事件,结果用了定时器这个失败的方法来刷数据)。
如果这个工具对大家来说没必要,我也不想做下去了哈。解决这个效率问题后在新帖公开源码,另附一些简单的开发心得。

把这个swf放在@:\Documents and Settings\@@@@@\Local Settings\Application Data\Adobe\Flash CS@\@@\Configuration\WindowSWF下,大家只要把@换成自己的机子里的东西,然后names.xml里加上这个swf,在窗口(window)-->其它面板(other panels)就能打开。其它的不说了,自己看效果。

希望哪位大虾提供建议帮我解决这个效率问题。或者告诉我如何让jsfl知道鼠标在场景中被点击过。



本来想把这个问题解决了再公开源码,成浮云了。。
就当成as3与jsfl交互的例子吧...

心得:
1、做为flash ide面板开发,as3与jsfl是通过adobe.utils.MMExecute这个方法来进行交互的,因为MMExecute可以返回执行语句的字符串结果,
复制内容到剪贴板
代码:
var str:String = MMExecute("fl.documents.length")//返回flash ide 当前打开的文档数


2、jsfl加入到cs版本后,加多了一些扩展,比如fl.addEventListener方法,具体的大家可以比较一下flash_cs5_extending.pdf和fl8_extending.pdf。
如果面板被关闭了,fl.addEventListener还是会继续执行,或者就重启下flash ide就可以了,这里大家在使用的时候注意一下。

3、as3中,可以通过MMExecute来构建一个运行时的jsfl,具体可以看下面的一段代码:
在as文档中先执行下面这条语句:
复制内容到剪贴板
代码:
var str:String =  "var str= 'helloWorld';";
MMExecute(str);
然后在其它地方,可以通过
复制内容到剪贴板
代码:
var str:String =  MMExecute("str");
来查询之前定义的变量,如果调用了没有定义的变量,则会报错。

4、导出的swf被放入到WindowSWF后,在flash ide打开时,as3里有用到的trace是不能在输出面板输出的,不过可以通过fl.trace来替代,调试的时候非常有用,
如:
复制内容到剪贴板
代码:
public static function trace(str:Object):void
{
    MMExecute("fl.trace('" + str.toString() + "')");
}
5、在JsflInterface.as类里我只写了一些我在这个工具有用到的方法,可供参考!

[ 本帖最后由 ganhanwen 于 2011-1-11 15:06 编辑 ]

附件

showElement.rar (369.43 KB)

2011-1-11 15:06, 下载次数: 3

swf工具

作者: ganhanwen   发布时间: 2011-01-10

自己先顶一下,效率问题依旧没有解决,代码已经放出来了

作者: ganhanwen   发布时间: 2011-01-11

热门下载

更多