欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    ActionScript3从零基础学习类Word下载.docx

    • 资源ID:612556       资源大小:38.15KB        全文页数:30页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    ActionScript3从零基础学习类Word下载.docx

    1、 trace(这是写的第一个类);在d:exam下建立一个FLA文件,在第一帧写如下代码:import net.smilecn.MyClass;var myClass:MyClass = new MyClass();那么在输出面板里就会输出“这是写的第一个类”。 import net.smilecn.MyClass:导入写的类(类在使用前要导入net.smilecn是包名,MyClass是类名)。 var myClass:MyClass = new MyClass(): 实例化MyClass这个类(实例化的时候会执行构造函数,那么就会执行trace这句代码)。成员常量、变量和方法首先看一段代码

    2、: public const PI:Number = 3.1415926; public var r:Number; private var s: 在前面的基础上增加了几行代码,其中:const是定义常量,var是定义变量,所谓的常量就是不能改变的量,变量就是能够改变的量;public、private是属性关键字。在ActionScript 3.0中属性关键字有这样几个: public:指定类、变量、常量或方法可用于任何调用者。 private:指定变量、常量或方法仅可供声明或定义它的类使用。 protected:指定变量、常量、方法或命名空间只可用于定义它的类及该类的任何子类。 intern

    3、al:指定类、变量、常量或函数可用于同一包中的任何调用者。下面主要说明public、private这两个属性关键字。从字面上理解public是公共的意思,说简单点就是任何地方都可以调用;private是私有的意思,就是说只有这个类中才可以调用。举例说明,在前面用的FLA文件中的第一帧加上这个的代码:myClass.r = 3; /正确 myClass.s = 18; /错误 可以看到因为r声明为public,所以在外部调用是正确的,s声明为private,所以不直接在外部访问s这个变量,这就是public和private的区别。如果要在外部改变s的值,则可以修改MyClass类,如下: pub

    4、lic function setSValue(value:Number):void s = value;这样通过一个公共方法(就是函数)设置了s的值,可以在FLA文件中调用:myClass.setSValue(18);当然跟其它语言一样,也可以用get和set方法来读取或写入private变量的值: public function MyClass() public function set sValue(value:void public function get sValue():Number return s;在调用的时候就可以用这样的语句了:myClass.sValue =18; /(当

    5、使用过set后可以这样操作) var a = myClass.sValue; /(当使用过get后可以这样操作) 继承继承是指一种代码重用的形式,允许程序员基于现有类开发新类。现有类通常称为“基类”或“超类”,新类通常称为“子类”。 import net.smilecn.MyClass;/类在使用之前要先导入 public class MySubClass extends MyClass public function MySubClass() Pi:,PI);/正确 trace(r:,r);s:,s);/错误 发现这个类比之前写的类多了“extends”这个一个关键字。这个关键字的作用就是说

    6、明,MySubClass类是继承MyClass类的,继承之后就可以使用MyClass这个类里的变量和方法了,这样就达到代码重用的目的。例如,现在要写关于若干个球的类,有足球、篮球、排球等,那么可以先找出这些的共性,先写一个球的类,然后再继承这个球的类写出若干个球的类。由于相同的东西写在球的类中了,这就达到了代码重用。可以看出,PI,r,s是在MyClass这个类中定义的变量,那么由于MySubClass继承了MyClass,所以MySubClass也能使用这些变量。但值得注意的是,public和protected可以在子类中使用,而private则不行。所以这里PI和r可以使用,s不能用,并且

    7、子类在构造的时候也会执行基类的构造方法。改一下FLA文件的代码:import net.smilecn.MySubClass;var mySubClass:MySubClass = new MySubClass();mySubClass.r = 3;在输出面板会输出:这是写的第一个类PI:3.1415926NaN注意:标有错误的那句代码要去掉,不然会报错。下节继续讲解继承. (编辑:非熊) -类的继承二 当前位置:主页 AS入门 作者:arrowyoung 发表于:2009-08-29Tag:菜鸟教程 继承 在上节中,我们介绍到了继承,继承在我们的实际应用中是用的比较多的一种方式。 上节的继承是

    8、继承我们自己定义的类,如果要用到影片和类关联起来,我们可能会更多的去继承AS3中已有的类Sprite和MovieClip;MovieClip这个类我们在2.0中就经常用到,就是影片剪辑,Sprite是什么了,其实就是一个没有帧的 MovieClip,在没有动画的情况下我们会更多的使用Sprite,来看一段代码:package net.smilecn import flash.display.Sprite; public class MySprite extends Sprite public function MySprite() graphics.beginFill(0xFFCC00); g

    9、raphics.drawCircle(40, 40, 40); 现在我们建立一个MySprite的类(注意保存的AS文件名一定要跟类名一样),因为它是继承的Sprite类,所以我们可以使用graphics来画图,这里我们画了一个圆。 要使用这个类,我们同样要在帧上加一些代码:import net.smilecn.MySprite; var mySprite:MySprite = new MySprite(); addChild(mySprite); mySprite.x=100; mySprite.y=100; 这里首先我们还是建一个实例,名字叫做mySprite,接下来我们用到了这句:add

    10、Child(mySprite); addChild相当于2.0里面把库中的元件载入到场景中,用了addChild后我们画的那个圆就显示在场景中了,与之对应的是removeChild,是从场景中删除 接下来 mySprite.x=100; 是设置坐标位置,因为是继承的Sprite,因为Sprite有x、y属性,所以MySprite也有了(注意x,y相当于2.0里面的_x和_y) 上面的代码MySprite是用代码画的一个图形,有很多图形我们不可能都用代码去画,这样就失去FLASH的主要功能了,我们还可以把库中的元件链接到MySprite这个类中。 我们新建一个MC,在库中在这个MC上点右键,点链

    11、接,会出现一个对话框,将为ActionScript导出打上勾,在上面类的后面填上要链接的类,这里我们填上:net.smilecn.MySprite ;基类那里我们填上:flash.display.Sprite 然后再发布看看,会发现不仅有刚才画的圆,我们在刚才的那个MC里画任何东西都会在里面,这样就做到了元件和类的链接。 在FLASH CS3中还加入了一个文档类(document class)的概念,使用文档类后,我们刚才写帧上面的代码就不用了,直接写在文档类里面,文档类就相当于第一帧的位置,这样我们就不用在FLA文件里写代码了,所有代码都写在AS文件里,达到了界面和代码的分离。 现在在建立一

    12、个类,MainForm.as: import net.smilecn.MySprite; public class MainForm extends Sprite public function MainForm() var mySprite: 我们发现刚才第一帧的代码搬到这个类里面来了,那个第一帧的代码就可以全部删除掉 最后在FLA的属性栏中找到文档类,在后面输入类的位置:net.smilecn.MainForm(注意是包名加类名) 好,现在发布看一下,是不是跟刚才的效果一样。投稿: 有疑问:去艾睿论坛 交朋友:去友吧 -加载库中MC 2009-08-30Tag:菜鸟教程 加载库中MC 上一

    13、节中,我们将库中的MC链接到一个类上,达到了类与元件的绑件,那么要完成像2.0一样的效果,将库中的元件载入到场景中是不是也要在MC上链接类了(3.0中没有以前的标识符),如果每个在库中的MC都要链接一个类就麻烦了,其实只需要在类后面起个名字就可以了。 比如我们起个名字叫MyMc,基类就用默认的flash.display.MovieClip(注意在点确定时有个找不到类的警告,不用管它,点确定就可以了),在文档类中这样写: import flash.display.MovieClip; public class MainForm extends Sprite public function Mai

    14、nForm() var myMc:MovieClip = new MyMc(); addChild(myMc); 同样,要播放库中的声音也可以这样做,方法一样,链接在类后面起个名字,比如MySound,基类就用默认的flash.media.Sound import flash.media.Sound; var mySound:Sound = new MySound(); mySound.play();play方法是播放声音 通过上述方法,我们可以通过代码将库中的元件加载到场景中或播放库中的声音。反射的方式加载库里的MC 2009-09-01Tag:反射 加载MC 在上一节中我们用到了在库中加载

    15、一个元件,我们还有另一个方法来加载一个元件,就是用反射的方法,反射就是用库中元件的名字(字符串)去得到我们想要的元件,用代码去把它变成一个类. 我们在库中建立两个MC,并用上一节的方法将它们导出,名字分别为:Mc1和Mc2,我们要将这两个元件加载 到场景上,按照上一节的方法,我们应该这样做: public class MainForm extends Sprite public function MainForm() var mc1:MovieClip = new Mc1(); addChild(mc1); var mc2:MovieClip = new Mc2(); addChild(mc2

    16、); 那么如果用反射的方法应该怎样做呢,看下面的代码: import flash.utils.getDefinitionByName; public class MainForm extends Sprite public function MainForm() var ClassReference:Class = getDefinitionByName(Mc1) as Class; var instance:MovieClip = new ClassReference(); addChild(instance); 这段代码只加载了Mc1这个元件,而且我们发现代码比上一种方法更复杂一些,那为什

    17、么要使用反射这种方法呢,我们在看一段代码: public class MainForm extends Sprite public function MainForm() for(var i=1;i=2;i+) var ClassReference:Mc+i) as Class; 我们发现现在这种写法是不是更简单的一种写法,当库中有名字为Mc1,Mc2,Mc3这种更多的MC时,我们只需要改变循环变量的范围就可以了. -事件 事件 菜鸟教程 在as3.0中我们用的最多的可能就是事件 ,我们会侦听各种事件. 当我们点击一个按钮时,在2.0中我们可能会用到这样的语句: _btn.onPress =

    18、function(); 当然后我们也可以用addEventListener来侦听一个点击事件.在3.0中我们一律用addEventListener 这种加侦听的方式来完成. _btn.addEventListener(MouseEvent.CLICK,btnClickHandler); function btnClickHandler(event:MouseEvent):void /点击后代码 这是一个单击事件,基本上我们用到的系统里的所有类都会有事件,在帮助文档中我们可以找到,我们可以很方便的使用这些事件. 我们现在把上一节中我们用到的代码稍加一下变动: import flash.event

    19、s.MouseEvent; instance.name = mc +i; instance.addEventListener(MouseEvent.CLICK,insClickHandler); private function insClickHandler(event:void trace(你点击了:,event.currentTarget.name); event.currentTarget是指当前侦听的对像,加个name属性就是这个对像的名字,这里MouseEvent就是鼠标事件;Sprite、MovieClip、SimpleButton、Button这一些都可以加鼠标事件侦,当然不止

    20、这一些(注:SimpleButton是元件按钮,Button是组件按钮) MouseEvent.CLICK这个实际上是一个常量,代表着click这个字符串,从字面上我们就可以看出这个是单击的意思,通常这些事件其实都可以字面上看到意思,像MouseEvent.MOUSE_DOWN就是鼠标按下事件,值得一提的是3.0里面加上了双击事件,是MouseEvent.DOUBLE_CLICK,不过使用双击还要使doubleClickEnabled 为true才行. 我们不可能从别人那里知道一个类有多少种事件,所以帮助是最好的老师,我们学习AS3最好的教程其实就是帮助,所以要勤看帮助,这样才能进步更快. 下

    21、节继续讲解事件侦听. 事件侦听 2009-09-03Tag:事件侦听 菜鸟教程 在上一节中我们介绍了侦听,要知道我们可能经常会用到侦听,所以我们会写很多个addEventListener,经常有些侦听我们用过一次后可以就不会再用了,那么为了节省资源,我们要将这些侦听删除掉,要侦除侦听这们用这样的方法:instance.addEventListener(MouseEvent.CLICK,insClickHandler);/添加侦听 instance.removeEventListener(MouseEvent.CLICK,insClickHandler);/删除侦听 这里我们用removeEve

    22、ntListener 就可以将侦听删除掉,我们在编程过程中,已经不用的侦听我们应该及时删除掉以节省资源. 现在我们来看一个小例子,这个例子的功能是有两个按钮,点击其中一个自己变成不可点击,另一个变成可点击状态. import flash.display.SimpleButton; public class MainForm extends Sprite public function MainForm() _btn1.addEventListener(MouseEvent.CLICK,btnClickHandler); private function btnClickHandler(event: _btn1.addEventListener(MouseEvent.CLICK,btnClickHandler); _btn2.addEventListener(MouseEvent.CLICK,btnClickHandler); event.currentTarget.removeEventListener(MouseEvent.CLICK,btnClickHandler); 在我们上一


    注意事项

    本文(ActionScript3从零基础学习类Word下载.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开