为AS2.0添砖加瓦
作者 佚名技术
来源 服务器技术
浏览
发布时间 2012-07-09
[序] 基于类的编程,使得我们可以更加轻松地定制属于自己的对象,同时也给已有类的扩展提供了极大的方便。 现在我们可以通过extends关键字实现继承,并通过import来导入位于其他.as文件中的类。 在这些基础之上,我们完全可以发展自己的想象力,改进已有的AS,使之成为一款适合自己的脚本语言。! 我和花兄的这两篇教程,算是打了个头炮,虽然简单,但是希望能起到抛砖引玉的作用。 以后欢迎大家积极地把自己写的类放上来,配上教程和源文件下载,以供大家学习使用。 P.S.对于那些有价值的扩展类(常用且通用性强),蓝色老大会适当做出奖励哦 :D:D [正文] 下面这个例子非常简单,它向你说明如何扩展MoiveClip类,加入自己编写的方法。 如果你是一名数学老师,那么三角函数的图像肯定是你经常要用到的东西,下面我们就来扩展MovieClip类, 增加一个绘制正/余弦三角函数图像的方法。 第一步,编写类定义文件: 首先,新建一个Action Script File,命名为:JC_MCExtend.as。 因为在这个类中,我们不需要构造函数(只是对MoiveClip一个扩展),所以这个命名可以随意。 添加如下代码: class JC_MCExtend extends MovieClip //用extends来继承MovieClip类 { //绘制坐标轴(简易) function drawRF() { this.lineStyle(1,0x000000,100); this.moveTo(Stage.width/2,0); this.lineTo(Stage.width/2,Stage.height); this.moveTo(0,Stage.height/2); this.lineTo(Stage.width,Stage.height/2); } //绘制正弦函数 y=A*Sin(B*x+C)+D 的函数图像 function drawFunc(startX:Number,endX:Number,A:Number,B:Number,C:Number,D:Number) { this.moveTo(Stage.width/2+startX,Stage.height/2-(A*Math.sin(0.1*B*startX+C)+D)); this.lineStyle(1,0xff0000,100); for(var x=startX;x<endX;x+=0.1) this.lineTo(Stage.width/2+x,Stage.height/2-(A*Math.sin(0.1*B*x+C)+D)); } } 我想上面有关绘制的部分就不用解释了,都是MX的语法,值得注意的是参数的声明, 格式为“参数名:参数类型”,虽然麻烦,但大家一定要习惯才行。 接下来该是FLA的部分了,新建一个Flash文档,命名为testMCExtend.fla。 首先,要让Flash知道你的Class文件所在的路径, 在文件-发布设置-Flash选项卡中,选中AS2.0,并在后面的Settings设置中添加你的JC_MCExtend.as所在路径。 回到场景中,在库中新建一个MC,命名为:draw。 在库中右键点击这个MC,选择Linkage。 在时间轴第一桢,加入如下AS: _root.attachMovie("draw","draw_mc",0); //绘制坐标轴 draw_mc.drawRF(); //绘制函数 y=30*Sin(x+PI/2)的函数图 draw_mc.drawFunc(-100,100,30,1,Math.PI/2,0); OK,ctrl+Enter测试, 关键词: |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: fmx2004 1000问(3)下一篇: 土人AS入门教程对象篇
关于为AS2.0添砖加瓦的所有评论