flash类编程启航(2)

系统 1554 0

对于学习FLASH编程的朋友来说,类,实例概念想必也是耳熟能详了。但是,为了提高AS水平以及OOP的编程风格,我们有必要进一步深入地理解这些概念,尤其是和像站长一样,把AS作为第一门语言,没有任何其它编程语言基础的朋友来说,这样做非常有必要。
  对于类和实例,网络上的各种相关学习参考资源多如牛毛,笔者无意于引用各种艰深晦涩的专业术语来阐述这个问题,只想通过笔者的编程心得谈一些体会,供朋友们参考。
  对于flash编程来说,类是一件文件,以.as结尾,不管是MovieClip还是Sound,String,以及组件,在安装目录中都会一个类文件与之对应。这个类文件中定义了相对元素的所有属性,方法,和事件。比如我们在组件面板拖一个Button组件在舞台上,那么这个Button组件就是Button类的一个实例,这个Button组件的所有可用的定义属性、方法都继承来自于Button类文件。
  记得笔者初学AS时经常为样的操作感到疑惑:将一张图片按F8转换为影片剪辑,图片不转换为影片剪辑,在FLASH播放时照样可以照样显示,为什么一定要转换为影片剪辑?
  这是因为这样做就是把一个元素,这里是图片,也可以是其它的东西,比如文本,进行封装,让它成为MovieClip类的一个实例,这样我们就可以通过MovieClip类文件中定义的属性方法和事件来控制这张图片。比如我们可以动态改变它的_alpha值,_x值_y值,等等。
  MovieClip类中可以很多属性和事件,性能也足够强大,但是,如果只拘泥于提供的属性方法和事件,那么对于AS编程的理解未免过于肤浅,大材小用,另外,在很多只使用内置属性往往会增加编程的难度。
  这就要通过另外一种方法,通过重新编写、扩展原有的类文件来实现,就是笔者所谓的“类编程”,比如我们在游戏开发中需要动态检测影片剪加的_x,_y,_alpha三个属性之和,我们可以这样写:
  class mm extends MovieClip
{
 function s ()
 {
  trace (this._alpha +this._y+this._x);
 }
}
 保存,然后在画一个方块转换为影片剪辑,实例名为a ,然后保存FLA到文mm.as的同级目录,然后在库面板中右击这个元件,

   在AS2.0类文件中输入mm。这样我们就把舞台上的影片剪辑与我们编写的类文件相关联了,也就是说,舞台上的影片剪辑成了我们编写的类的一个实例。
在时间轴帧加入我们为影片剪辑定义的新方法,即可执行。
  保存这个文件,以后要在使用同样方法都可以这样做,所有继承此类的影片剪辑都会一个新的构造函数S,新的构造函数可以根据我们在编程中需要实现的效果来自定义,这样大大提高了编程的灵活性。 
  从不会AS到在影片剪辑上写代码是一种进步,从在影片剪辑上写代码到在时间轴上写代码是一种进步,从时间轴上写代码到通过封装成类,直接编写类文件也来编程也是一种进步,只有掌握了OOP编程才真正称得上是一个FLASH程序员。
  下篇文章,我们将详细探讨类编程的具体写法以及和时间轴编程的区别,敬请留意。
本文转自:http://www.5uflash.com/flashjiaocheng/Flashaschengxu/502.html

flash类编程启航(2)


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论