《ActionScript3.0基础教程精品.docx》由会员分享,可在线阅读,更多相关《ActionScript3.0基础教程精品.docx(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、ActionScript3.0基础教程ActionScript3.0基础教程:运用函数和方法as中的函数和方法在极大程度上是相同。都是只有在调用它们的时候才会执行其包含的功能。与变量一样,函数也只需写(或声明)一次,之后可以多次调用(或重用)。3.1 方法与函数函数的概念:执行特定任务并可以在程序中重用的代码块。方法与函数的区分是方法与一个特定的类关联(类的对象可以执行的任务),函数是用户定义在时间轴上的代码块,或自定义类的一部分的(也变成了那个自定义类的方法)。3.1.1 方法方法是写在类中的函数。当对象须要去执行计算,变更一个属性,返回一个值,或执行任何事先预定的动作时,它们就打算好被调回
2、了。方法继承类的方法可以从其他类继承,在类之间创建了逻辑链,从而最小化了功能的重复。同时削减了文件大小和重复的功能也是提高效率的体现。每个外部as文件都定义了一个类所消耗的文件大小和CPU资源。3.1.2 函数函数是用户为了把一个应用程序的全部功能缝合在一起,而定义的代码容器。面对对象编程须要运用许多事先定义好的只维护自身的对象。你须要做的就是在你须要的时候给他们传递指令使他们执行某些任务。换句话说,函数就是为解决某些须要而封装的指令集。3.1.3 定义函数1.function functionName(参数1,参数2,)/函数执行的动作2.var 函数名:Function=function(
3、参数1,参数2,)/执行语句块函数的命名规则与变量的命名规则是一样的。3.1.4 运用函数的参数方法或函数调用时他们都可以接受传递进来的参数值。3.2 从函数中返回值函数既可以接受参数值,也可以赐予反馈。函数的一个实际好处是可以重用一般功能的代码。设置函数的返回值创建的函数有返回值是,as允许严格的函数返回值类型。不给返回类型函数返回任何值,只要将void作为函数的返回类型。好的习惯是给你的函数一个返回类型,无论他们是否真的返回值。Exam:var js:number;function init(cs:Number)return cs=1;trace(init(js);/1嵌套函数:funct
4、ion dj():Stringfunction dy():Stringreturn Helloreturn dy()3.3 函数作用域作用域在as中表示变量或对象的位置和全部关系。变量或对象在哪创建就可以在哪访问,这就是它的作用域或位置。在代码主要部分声明的变量(时间轴上),就是时间轴变量,作用域在时间轴代码上。本地变量是指在函数中创建的变量,它的作用域只在他的函数里。对于函数来说,无论函数里发生什么,就让它留在函数里吧。在as中要时常留意在哪放东西。在代码中编译错误和功能没有执行作用域问题可能是最大的缘由。想访问和修改全局作用域中变量的值,只要在函数中调用它,并给他给予一个新值就可以了。前提
5、是函数中没有一个和他同名的变量。var sum:Number=50;function addNumber(pNum1:Number,pNum2:Number):voidsum=pNum1+pNum2;addNumber(10,10);ActionScript3.0基础教程:运用类和对象在as中任何东西都是对象4.1 定义类和对象类相当于对象的蓝图。定义了该对象的全部内容:看似如何,行为如何,做什么,处理什么数据以及如何创建。对象是类的实例,或者是对象蓝图的副本。在类的对象被实例化后,就可以根据你的意愿访问它的公用属性,事务和方法来操作对象了。类的层次涉及对类的划分。类其实是一些定义对象外部的a
6、s文件。导入一个详细的类,必需知道他在书目或者说类包的路径。如import flash.display.MovieClip;类的继承 一般状况下,包中深层的子类继承父类的核心功能。4.2 导入类在构造对象之前必需导入类。在将类导入到代码之后,就可以干脆运用类名了。假如没有导入,引用类必需运用包含路径的完整类名。var mc:MovieClip=new flash.display.MovieClip();PS:全部基于时间轴编写的代码可以不用导入类(Flash会自动完成)4.3 实例化对象实例化一个对象是指用as构造一个类的实例作为对象。不管对象是用来显示还是管理数据,实例化的方式总是一样的:v
7、ar objectName:ClassType=new ClassType();4.3.1 对象方法方法是定义在类中的函数。类的方法就是对象执行的行为。可以传递参数、返回值。方法须要在类的对象实例化后调用。4.3.2 对象属性属性是实例的变量。他们保存了对象物理上、逻辑上的特性,比如位置(x、y)、尺寸(width、height、scaleX,scaleY)以及幕后运用到的各种值。4.3.3 对象实例的数据类型与变量一样,对象实例的变量也有数据类型。若实例化错对象类型,也将会导致编译错误。定义的对象实例数据类型总是要和类名一样。4.4 运用外部代码运用外部文件,然后将其加入或者导入到应用程序中
8、,有许多好处。可以在flash和编辑器(运用一个独立的as编辑器)之间做一些分别,全部的代码能同时显示在不同的地方。当多位开发者面对同一个程序的不同之处时是一个不错的选择。体会基于类编程的第一步许多开发者不喜爱flash中的as面板,更喜爱第三方as编辑器。第三方as编辑器:FlashDevelop(www.flashdevelop.org)primalscript():多语言编辑器TextMate(),只能用于苹果机Eclipse 一个开源的开发平台工作于外部的as文件时,你写的代码和在flash中基于帧的完全一样。唯一的不同就是as是在一个外部的.as文件中。在flash文件被编译时,外部
9、的.as文件被加入到flash中。加入一个外部的.as文件到flash应用程序中和创建一个外部类不是一回事。添加外部的.as文件,运用includeActionScript3.0基础教程:显示列表和对象flash平台应用程序主要用于显示图形和信息。as的底层处理了如何存储图形信息以及如何显示他们。as3.0是flash显示可视对象的方式。可视对象或显示对象通过显示列表添加到舞台上(可视的)。显示列表管理着显示对象的层级,并且显示对象本身也是可见元素。这种方法在编程中称为显示编程。5.1 显示列表DisplayList像一个树形结构将显示对象放置在舞台上。也可以用as在运行时将对象添加到显示列表
10、中。在创建第一个程序时,stage就是主容器,在主容器中的全部显示对象都会被显示。随后,任何在该舞台上的显示对象都有实力作为容器让其他对象有他们自己的显示列表,来管理他们的子显示对象。显示对象在显示列表中的位置确定了他们的位置。显示对象是基于一个以添加依次为层级的堆依次,堆依次或显示对象的深度定义了他们应当出现在上边还是当重叠时显示在另一个可视对象的下边。5.2 显示类和对象可以运用as在运行时创建显示对象,或者在创作时添加到舞台上。无论哪种方法,他们都是派生于DisplayObject,InteractiveObject或DisplayObjectContainer类。5.2.1 显示对象D
11、isplayObject类被用来定义只做显示目的的显示对象(没有交互和时间轴)。DisplayObject类定义了全部其他显示对象的核心功能。这个类也可称为父类。编程术语中父类的意思是有其他类是派生于这个类的。DisplayObject类的属性,事务和方法属性 x y widht height scaleX scaleY alpha filters mask方法 hitTestObject() globalToLocal() getBounds() getRect()事务 addedToStage enterFrame removedFromStage全部可视对象的核心都是DisplayObj
12、ect。DisplayObject类可以看做显示对象演化链上的第一dna纽带。全部DisplayObject类的子类继承了DisplayObject类中定义的功能。继承类的意思是出于某些目的运用父类作为基础并自定义类添加其他功能。DisplayObject类的子类Bitmap 处理外部加载或由as创建的位图图像Shape 创建矢量图像,以及运用数学函数和as的困难形态InteractiveObject 为对象定义交互的功能Video 用于显示视频文件StaticText 只可以用于处理在创建时运用文本工具创建的文本。不行以运用as创建和操作。但还是有类驱动的MorphShape 只可以在运行时
13、创建形态时创建过渡5.2.2 交互对象InteractiveObject类继承了DisplayObject父类InteractiveObject类是全部可以用户交互的核心类,包括键盘输入和鼠标交互。InteractiveObject类的属性,事务和方法属性 contextMenu mouseEnabled doubleClickEnabled方法 Interactive()事务 click keyDown keyup mouseDown mouseOver mouseOut mouseUp mouseWheel rollOverInteractiveObject的子类DisplayObject
14、Container 定义一个拥有用于嵌套对象的显示列表对象。SimpleButton 程序中全部按钮的实例TextField 运用as限制和操作的输出和输入文本PS:让链接标识符和库元件同名是个很好的习惯。这样可以在库中很简单找到对象,当运用as限制它的时候只要看库中现实的名字就可以了。在将对象添加到显示列表前设置对象的属性是一个很好的习惯。这样可以确保对象在应用程序中显示之前已经做好打算了。5.2.3 显示对象容器DisplayObjectContainer类继承了InteractiveObject类和它的DisplayOBjectL父类DisplayObjectContainer类定义了作
15、为其他对象容器的对象。这些对象构成了容器,将全部对象包含在他们自己的显示列表层级中。DisplayObjectContainer类的属性、方法和事务属性 mouseChildren numChildren tabChildren textSnapshot方法 addChild() getChildAt() removeChild() swapChildren()事务 added addedToStage enterFrame removed removedFromStage renderDisplayObjectContainer类的子类Loader 加载外部SWF和图像(JPG,PNG,GIF)Sprite 将图形作为子对象包含Stage 用于显示对象的整个画布5.2.4 MovieClip类MovieClip类继承Sprite和DisplayObjectContainer类MovieClip类和Sprite类相同,只是MovieClip类多了一个可以做逐帧效果或功能的时间轴(或播放头)全部DisplayObjectContainer类的子类都想舞台一样有他们自己的显示列表。
限制150内