Flash面向对象程序设计的演变
作者 佚名技术
来源 服务器技术
浏览
发布时间 2012-07-13
就是将原来放在主影片时间轴的全域函数搬到对象里,即放在Movie Clip ball的时间轴里.
开发步骤: 选择主影片图层script第一至第三帧,按右键选”Cut Frames”,如图所示. 编辑元件库里Movie Clip ball,插入帧至3个,增加图层,选择头3个帧,按右键选”Paste Frames”,如图所示. 编辑第1帧的代码,改为以下程序代码:
区域函数和全域函数的不同之外是: 1.程序和图形放在一起,封装性改善了,容易拷贝到另一个地方使用. 2.没有路径考虑,在别的Movie Clip里都可以使用. 不过,区域函数有一个致命问题:虽然区域函数是写在Movie Clip元件里,但是每个Movie Clip实体都会有一套区域函数在自己时间轴里.他们的区域函数其实是完全相同,这么多份区域函数会严重浪费内存. 3.原型(Prototype)扩展 由于所有舞台上的Movie Clip都是MovieClip类的具体表现(唯一可视化的实体),所以在MovieClip类直接加入关于随机移动的方法,所有粒子实体就会有随机移动的方法供调用,避免浪费内存. 原型是ActionScript 1.0中用来建立继承或将自定属性和方法增加到对象中之用.利用关键字”prototype”,为MovieClip类增加两个方法,分别是initBall()和moveBall(). 开发步骤: 基于上面的源程序的修改.主影片时间轴只保留第一帧,新增回图层script,加入扩充MovieClip类方法的程序代码(可以从Movie Clip ball第一帧复制):
编辑元件库里Movie Clip ball,只保留第一帧,将程序代码改成:
特点分析: 原型扩展虽然避免了重复区域函数浪费内存,但是由于它直接在MovieClip类加入关于随机移动等方法,污染了MovieClip类,因为所有舞台上Movie Clip实体,就算不是粒子,都会有这两个方法. 4.封装成组件 针对原型扩展缺点,正确方法是建立一个新对象(例如:粒子类),并继承MovieClip类.这个做法,在Flash MX时,就是所谓以ActionScript 1.0来进行面向对象程序设计的做法.其实这做法跟开发Flash MX组件是没有分别,换句话说,开发Flash MX组件就是ActionScript 1.0面向对象程序设计的常见情况. 开发步骤: 基于上面的源程序修改.拷贝主影片时间轴图层script第一帧的程序代码,然后删除图层script.编辑元件库里Movie Clip ball图层script的第一帧,将旧有两行程序代码删除,粘贴 |
|||
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于Flash面向对象程序设计的演变的所有评论