您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > FLASHas30期末复习整理
一.基础知识1.时间轴上代码执行顺序:从左到右,从上到下,从外到里2.MainTimeLine类是动态类,可以动态的添加属性3.时间轴由图层、帧和播放头组成4.Stage类是静态类,不能向舞台动态的添加属性5.Trace的使用:可以对程序的运行状态进行跟踪使用“,”分隔,在输出结果中将以空格分隔,eg:trace(“1”,”2”,”3”,”4”);输出结果:12346.Stop();是播放头在该帧停止7.变量的命名规则变量命名以英文开始,后接数字或字母等,不允许使用空格和问号等符号。变量命名一般采用“骆驼命名法”的命名。首字母小写,其他单词的首字母大写,单词其他字母小写。如myText。应该使用具有一定意义的英文单词组合,命名时要尽量做到以最小长度传达最大信息量。如:userName和myAge等。ActionScript3.0对大小写敏感,变量名应该区分大小写,如NUM和num表示的是两个不同的变量。同时,变量名不能使用ActionScript3.0的保留字或关键字,如,true、define和Boolean等。ActionScript3.0中,声明变量不指定变量类型是允许的声明例子:vari;vari:int;vari:int=9;vara:int=7,b:Blooean=true,c:String=”myexampol”8.常量常量指的是在程序中固定不变的量。常量可以看作是一种使用const关键字来进行声明的特殊变量publicstaticconstgNumber=9.8;分支结构if结构switch结构switch(expression){caseClause1:statements1;break;default:statements;}二.函数1.递归调用:如果在一个函数中出现了直接或间接调用该函数本身,这就构成了函数的递归调用2.函数的嵌套:在程序中,如果在一个函数的内部声明了其他的函数,这就形成了函数的嵌套3.参数(1)按值或按引用来传递参数functionmyMullti(a:int,b:int):void{函数体}(2)默认参数functionmyTest(m:int,n:int=8,p:int=30):void{}//没有默认参数的值被视为必选参数,有,叫做可选参数,可选参数必放在必选参数之后myTest(40)(3)P41参数…(rest):指定一个数组参数以接受任意个以逗号分隔的参数varm:int=0;functiontest(n:int,…abc){}(4)对象arguments三.类(1)文档类(3.0中类需放在拓展名为as的文件中,这是一个纯文本文件,文件名与类名相同。eg:Test类,文件名是Test.as)(2)包(p45)(3)属性与方法:属性默认状态为内部形态,名称以“_”开头eg:package{calssExample{privatevar_name:String;publicfunctionget_name():String(){return_name;}}}(4)文档类与元件类文档类:必须继承至MovieClip或Sprite的类类文件FLA源文件在同一文件夹中,则在使用时可以直接输入类名。不在同一个文件夹,则需要输入文件夹路径四.事件处理(p56)(1)事件流:用于描述事件发生在显示列表中,遍历其所有节点的过程(用于处理复杂结构事件)分为3个阶段:捕获阶段:从顶部到目标目标阶段冒泡阶段:从目标到顶部(2)处理事件三要素:发送者、接收者、事件发送者负责发送事件接收者负责接收事件,事件处理的函数处理事件的过程就是调用addEventListener()注册事件基本形式:发送者.addEventListener(事件名,接收者)function接收者(e:事件类型){}移除事件基本形式:发送者.removeEventListener(事件名,接收者)addEventListener(参数1(事件名),参数2(处理函数),参数3(默认为执行冒泡阶段(即为false,设置为true表示捕获阶段)),参数4(表示优先级顺序,默认为0),参数5)(3)Event类的target和currentTarget属性都是在事件处理函数中可以获得事件发送者在简单事件处理过程中两者没有区别,但在复杂事件处理过程中两个在不同阶段指向的实例不同target属性指向单击的目标currentTarget属性指向当前事件活动对象只有目标阶段两者指向同一对象(4)鼠标常用事件静态属性说明CLICK“click”,单击事件DOUBLE_CLICK“doubleClick”,双击事件MOUSE_DOWN“mouseDown”,鼠标按下事MOUSE_MOVE“mouseMove”,鼠标移动事件MOUSE_OUT“mouseOut”,鼠标移出事件MOUSE_OVER“mouseOver”,鼠标移入事件MOUSE_UP“mouseUp”,鼠标释放事件MOUSE_WHEEL“mouseWheel”,滚动轮事件ROLL_OUT“rollOut”,移出事件ROLL_OVER“rollOver”,移入事件鼠标事件范例(p60)(5)键盘事件(P72)KeyboardEvent类KeyboardEvent对象.charCode//当前字符集中该按键的数值(默认支持ASCII的UTF-8)KeyboardEvent对象.keyCode//是一个数值对应键盘上的按键。(6)使用ENRTE_FRAME事件ENTER_FRAME事件是以帧频触发的事件,事件发生的时间间隔由影片的帧频决定。ENTER_FRAME事件是在播放头进入新帧时触发,如果播放头没有移动或是只有一帧,则事件以帧频不断触发。如,当主场景的帧频为12帧/秒时,ENTER_FRAME事件将会在每秒钟发生12次,即使播放头在时间轴上已经停止了,事件将仍然会发生。只有删除了此事件的控制或移除了响应对象后,该事件才会停止。(7)使用Timer事件(第3章ppt)timer类实例的创建:varmyTimer:Timer=newTimer(间隔时间,重复次数)Timer类属性running:boolean类型,只读,调用状态时为true,否则为falsecurrentCount:当前调用次数,只读delay:调用间隔时间,读写repeatCount:调用次数,读写Timer类方法:Start():启动调用Stop():停止调用Timer类事件(p80)调用时发生timer事件结束时发生timerComplete事件五.对象显示操作(87)显示对象:是指Flash中所有的可视元素。(显示对象(即可视对象):影片剪辑、图形、按钮、文本、补间动画、舞台)容器:可以放置其他显示对象的显示对象。舞台是顶级容器,主时间轴是位于舞台中的一个显示对象。(舞台中的其他显示对象属于主时间轴。)(1)addChild()方法可以将一个子实例添加到显示对象容器中DisplayObjectContainer.addChild(child:DisplayObject)//P89(先使用addChild()方法添加到显示列表中的对象将位于最底层,随后添加的对象将位于前面添加元件的上方。)(2)使用addChildAt()方法添加视觉元件DisplayObjectContainer.addChildAT(child:DisplayObject,index:int);(3)删除显示对象DisplayObjectContainer.removeChild(child:DisplayObject);DisplayObjectContainer.removeChildAt(index:int);EG:varballA:Ball=newBall1();varballB:Ball=newBall2();varballC:Ball=newBall3();stage.addChildAt(ballA,0);stage.addChilaAt(ballB,1);stage.addChildAt(ballC,3);stage.removeChild(0);(4)显示对象的深度管理(P95)DisplayObjectContainer.setChildIndex(child:DisplayObject,index:int)DisplayObjectContainer表示需要更改索引编号的的显示子对象实例,index表示需要更改的索引编号(5)动态获取显示对象(P100)getChildAt(index:int)getChildByName(name:String)(6)设置对象的位置、大小和角度对象.x=475;对象.y=300;width属性和height属性scaleX属性和scaleY属性,这2个属性值是显示对象与原始大小相比的相对百分比。将一个名为myObject的显示对象顺时针旋转60°,可以使用下面的语句:myObject.rotation=60(7)设置对象的颜色和透明度使用color属性设置对象颜色(P110)使用乘数属性和偏移属性设置对象颜色设置对象的透明度(8)显示对象的碰撞检测使用hitTestObject()方法(P118)eg:判断显示对象ObjectA与ObjectB是否接触if(objectA.hitTestObject(Object){statements;})它们接触了,则该方法将返回true,否则为false。hitTestObject()方法检测,Flashplayer会将两个显示对象都看作单一的矩形,检测不精确。使用hitTestObject()方法来检测碰撞的优势也很明显,那就是其处理速度很快。(9)使用hitTestPoint()方法通过调入指定的x和y坐标值来检查对象与像素点是否发生了重叠。当要检测的对象中存在着空白部分时,使用该方法能够精确地确定对象是否在某点处发生了重叠。要检测实例名为objectA的对象是否在(x,y)处发生碰撞,可以使用下面的语句。bjectA.hitTestPoint(x,y,shapeflag);(10)使用遮罩(P125)要为一个显示对象(如实例名为mySprite的对象)指明另一个显示对象(如实例名为maskSprite的对象)作为遮罩,只需要被遮罩对象的mask属性值设置为遮罩对象即可,如下面语句所示。mySprite.mask=maskSprite;如果要删除遮罩,可以将mask属性设置为null,如下所示。mySprite.mask=null;六.控制影片的播放(P129)使播放头跳转到特定场景的特定帧开始播放,可以使用下面的语句。gotoAndPlay(frame,scene)(1)MovieClip类的常用属性(134)currentFrame、totalFrames、currentLabel、currentLabels、currentScene、scenes、frameLoaded、enabled、trackAsMenu(2)使用帧频(139)(3)设置舞台的大小Stage的displayState属性可以设置播放窗口的模式属性设置为StageDisplayState.FULL_SCREEN时全屏属性设置为StageDisplayState.NORMAL时普通Stage.scaleMode1.StageScaleMode.EXACT_FIT—显示全部,可能变形2.StageScaleMode.SHOW_ALL—显示全部,并保持高度比例,两侧可能出现边框3.StageScaleMode.NO_BOARDER—填充不扭曲,内容大时进行剪切4.StageScaleMode.NO_SCALE—固定大小(4)舞台上影片剪辑之间的相互控制eg:在舞台上放置两个影片剪辑,它们的实例名分别为mcA和mcB。如果希望在mcB的时间轴上放置代码控制mcA影片剪辑播放,使用root属性指定影片剪辑对象有下面3种方法来实现操作。
本文标题:FLASHas30期末复习整理
链接地址:https://www.777doc.com/doc-2871930 .html