最近在研究AVL平衡二叉树AS3实现及BSP算法,以实现更好的深度排序,由于排序的物体包括如椅子这样的家具,所以希望能够通过某个算法获得物体的边缘,于是了解一些边缘检测算法,但是,发现边缘检测算法比较复杂,如果通过Bitmap来做的话,可能对于大的物体其效率不太可观. 便想到,如果在生成SWF的时候能够预处理好边缘直接获得一个边缘列表就好了.如果将这份工作交给美工,可能他们会非常痛苦,因为要记录每一个顶点的位置,中午的时候花了一点时间看了一下Flash JavaScript API ,有所收获,记录下来分享一下.
Flash JavaScript API 是什么?
取这个名字还真让人不太容易理解,初步一看,好像是Flash提供Javascript的API.让人太容易跟JavaScript混在一起. Flash JavaScript API 运行在Flash IDE中,类似ActionScription语法,用于扩展Flash IDE运行时的功能. 跟JavaScript一样Flash JavaScript API 提供了一个DOM, 这个DOM包括一些顶级函数和两个顶级对象[FLfile 对象和 flash 对象 (fl)]. 这样,Flash IDE好比浏览器,Flash JavaScript好比浏览器中的JavaScript,如果你比较清楚了解Js,理解起来就比较清楚了. 你可以在Flash IDE中编写和运行Flash JavaScript, 它的后缀名为 .jsfl .
Flash JavaScript能做什么呢?
"利用 JavaScript API,您可以编写有助于简化创作过程的 Flash 应用程序脚本。例如,您可以编写脚本来自动执行重复性任务、向"工具"面板添加自定义工具或者添加时间轴特效。" 官方文档上是这样说的. 正如我前面描述的需求一样,我希望能通过Flash JavaScript给我处理边缘顶点,只要美工直接描述出边缘,我通过Jsfl代码将顶点检测记录下来就OK了.
更详细的解释你可以去看看Help,里面决对又有新的东西了..
迟点发布AVL树的AS3版本.
下面发布一个检测边缘的DEMO.
1. 先用钢笔工具勾一个封闭多边形,然后选中右击变成元件.
2. 将元件命名为: Wills
新建一个jsfl文件,粘贴如下代码:
如果你的多边形没有曲面的话,在你的FlashIDE中将会出现一个跟你勾出来的多边形一样的多边形,不过是绿色的,这个就是上面的代码临时画的了. :) 效果如下:
运行,效果如下:
Word教程网 | Excel教程网 | Dreamweaver教程网 | Fireworks教程网 | PPT教程网 | FLASH教程网 | PS教程网 |
HTML教程网 | DIV CSS教程网 | FLASH AS教程网 | ACCESS教程网 | SQL SERVER教程网 | C语言教程网 | JAVASCRIPT教程网 |
ASP教程网 | ASP.NET教程网 | CorelDraw教程网 |