• ----:)欢迎访问源码网(:----
    • 首页
    • 博客
    • 学院
    • 下载
    • 论坛
    • 影视
    • 发布源码
    • RSS
    • ITPig
    • 笑话网
    • 百家姓
    • 繁體中文

源码网 - 中国第一源码门户
选择镜像:网通镜像 - 电信主站
  • 首 页
  • 新闻动态
  • 网站运营
  • 网页制作
  • WEB开发
  • 编程开发
  • 图像媒体
  • 操作系统
  • 数据库
  • 服务器
热门搜索 优化 SEO 故事 cms IIS7 MySQL 个人 AdSense 主题推广 | 文章搜索: 高级搜索
会员登录/控制面版您的位置: 学院首页 >> 网页制作 >> Javascript >> 详细内容
 

推荐文章

 
 

热点文章

  • 北京2008年奥运会金牌排行榜 调用163
  • JavaScript实现图片幻灯片效果的源代码
  • 腾讯迷你天气预报代码
  • javascript汉字转拼音 功能块,方法很笨但很实用
  • JavaScript中常用正则表达式
  • JavaScript使用Window对象
  • javascript 实现无刷新联动菜单select的方法
  • 网页设计配色应用实例剖析——绿色系
  • 自然界的色彩搭配与界面设计(1)
  • javascript脚本轻松实现局部刷新
  • JavaScript自定义模式对话框
  • 浮动菜单是如何作出来的mouse事件
 
 

相关文章

  • Flash 常用 ActionScript 速查手册
  • 12个优秀的Flash/ActionScript国际级学堂
  • 六月开发语言排行榜出炉 ActionScript杀回前20(图)
 
 

百度搜索

 
 

ActionScript3.0是革命性的

  • 阅览次数:
  • 文章来源: v-sky.com
  • 原文作者: LuLi
  • 整理日期: 2008-09-19
  • 发表评论
  • 字体大小:
  • 小
  • 中
  • 大

  上个周末去书店时碰巧看到了AS3 CookeBook,我记得在apollo的alpha版快出来的时候,7yue就推荐过这个小册子,只不过我已经习惯了AS1和AS2,对于一个新技术的学习还是持保守态度,加上这一年以来项目需求中更多的是DHTML+AJAX的工作,也无暇去了解AS3,一直都以为它只是对AS2的一个扩充,是Adobe换汤不换药的商业行为。可当我翻看了下CookeBook的目录,然后又针对性地看了几节以后,心里顿时有了一种很激动、兴奋的感觉,AS3并不是对AS2的补充,而是颠覆性的,它对Flash的发展是革命性的。

上周开始抽空研究AS3,目前我还一直都处于兴奋状态,恨不得能够不睡觉地把Help文档通读一遍,就我目前的认识对AS3的重大转变先写个引子,希望对AS2开发者给个友好提示,如果你不抵触学习新技术,那么还是尽快转到AS3来吧(PS:目前接触时间有限,文中有理解不当或者错误之处望谅解、指出,随后的学习中会我也会继续发布一些体会)。

一、全新的“显示对象”架构
FlashPlayer9中加入了一套新的AS虚拟机器(AVM2),它提供了一套新的显示API,相对于之前的版本执行和渲染效率提高了不少。在AS3以前FLASH中的可编程的显示对象只有MovieClip和TextField,架构很简洁,他们都是直接从Object类继承的。在AS2的面向对象体系引入以后,一个MC类的属性和方法加起来近百个,目的就是为了让AS对MC的控制能够“随叫随到”,但是以牺牲效率为代价的。例如我们动态复制了几个MC到特定的坐标,而没有任何交互需求,但这些新的MC实例却依然具有了很多我们并不需要的属性和方法,因此很多编程人员都会抱怨MC是一个笨重的类。

FP9中新的显示架构彻底颠覆了“MovieClip是灵魂”的设计(AS2那套东西已不再沿用了),这个重大的更新主要体现在对显示对象的抽象更细致、清晰了。简单说来从概念上划分为了显示对象、容器对象、可交互对象,在这个基础上提供了更便捷地遍历显示列表的方法,添加、删除可视元素的方法、自动化地深度管理等。


从功能上详细提供了15个可视对象类,这就让我们能够根据实际需要选择合适的对象来实例化,而避免无用消耗。对这些显示对象的具体特性可查阅帮助文档,这是AS3显示编程的灵魂。


二、清晰的事件机制
从AS2中就引入了事件侦听模型,但由于AS1和AS2编程的随意性以及AS开发人员更多的是设计转行的,很多人还是习惯使用_mc.onRelese = function(){},甚至是on(release){},这些不同实现的优劣这里就不再重复讨论了,很多文档都有详细地对比说明。正是因为事件侦听模型的巨大优势,所以在AS3中有且只有只一种事件模型,它是支持了W3C DOM3事件规范的标准,对于它提供的各种广播事件也需要熟记于心。
在新的事件模型中,this对象能够自动找到它的原始对象实例,而不用再使用Delegate这种和怪异地方式来指定事件处理函数的上下文引用了。
更多细节需要参阅文档,熟悉这个新的事件模型是很有必要的,对于交互编程而言,这个是重点之一。

AS2是不支持事件流的,现在你不用再为此头疼了,因为支持事件流是AS3的事件机制的又一重大更新,对于事件流的捕获、目标、冒泡这三个过程你需要很清楚,每当你初始化一个交互元素时,你就需要在脑海中迅速地按顺序触发这些过程,这是交互编程的重点之二。


三、更为便捷的库元件绑定和文档类绑定
在AS2中我们如果需要重新初始化一个目标MC的实例,通常会采用duplicateMovieClip或者attachMovie来实现,但这两个实现都存在弊端和不便,局限性比较大。AS3提供了一种更便捷的方式来实例化一个目标元素的实例。在AS2的组件开发中我们通常都会使用库元件的类绑定,但在UI和程序协同、构造函数传参方面还是不太方便。而AS3中我们完全可以用AS自由控制库元素实例化到舞台上,例如:

//在库中将目标MC的导出类设置为FileUpLoad
//如果只是想显示库中元素,那么你没有必要额外建立FileUpload文件,编译器会帮你自动搞定
//在AS中实例化一个图片上传UI
var picUpload_mc = new FileUpload();
//添加到舞台上显示
stage.addChild(picUpload_mc);

对于库绑定的细节需要详细了解,其中还涉及到一些实际问题的实现方式,例如如何在类中访问绑定库元件中的元素等。但我个人认为利用AS3提供的这一新功能,能够更好得设计程序的架构,更符合MVC的开发原则,具体实现还需要在以后的研究中来探索,也希望和大家一起交流。

如果你接触过Flex开发,那么文档类的绑定就很熟悉了,这是FLASH开发环境所不提供的,但在FLASH CS3中提供了这一功能,目的还是规范开发。

四、丰富的功能包支持
就FLASH CS3开发而言,Adobe沿用了Flash之前版本的一些类库,主要都在fl.*包中,在这个基础上有更新了一些顶级包,同时又提供了一些新的包,主要都在adobe.utils中。除此以外,你还可以使用Flex作为开发平台,Flex提供了更为丰富的功能包和组件。

五、语法特性
AS3语法特性上也有一些变化变化,目前我针对下面几个做过测试:
1、在Number类型的基础上,新增了int和uint类型。
2、类型检测方面增加了is和as两个运算符,AS3提供了运行时的类型检测,在这之前只是提供编译检测。
3、各种数据类型的值在undefined时,现在都会给一个特定的默认值(编程中需要格外小心)。 
4、对于函数的执行,需要严格匹配参数个数,并提供了一种...(rest) 形式的参数来支持任意多参数的调用。
5、面向对象体系更细致了,增加了包的概念,增加了inernal和final的两个修饰符,对于类中public、private、proteced的访问权限也都有变化,对于重写超类的方法需要利用override关键字做申明。  

六、其他特性
上面的五点是我目前接触到的,同时也是个人认为最重要、最有进步的变革,除此之外还有一些重要的变化特性,例如在二进制、socket通信、E4X、正则表达式、文本显示、全屏模式等方面也都有一定的改进,有待于在实际操作中来熟悉。

PS:虽然近一年没有怎么系统地做Flash的东西了,但从WEB前端的发展动态来看,Flash的交互性越来越被重视了,就目前应用而言,除了在WEB上的RIA以外,在PC桌面应用上,依托于apllo或者yahoo Widget这样的运行时环境,Flash的应用应该会更有前景,界面丰富、交互灵活、相对较低的开发门槛,这些都是他的优势所在。(手机开发没有接触,这个平台对FlashPlayer的支持版本不太清楚,但我相信只要有利益存在,技术自然会被商业驱动起来的。)

上一篇:SWF与FLV文件格式
下一篇:Javascript实现打印网页中的定义的部分内容
  • 网友评论:
  • 查看所有评论
  • 我要发表评论
您的网名:
留言主题:
你要发表的内容:

 

关于本站 | 广告联系 | 版权声明 | 网站地图 | 发布软件 | 帮助中心 | 源码论坛

Copyright © 2005-2007 CodePub.Com  程序支持:木翼  滇ICP备05005971号