Flash的脚本教案PPT课件

上传人:kfc****89 文档编号:243354625 上传时间:2024-09-21 格式:PPT 页数:71 大小:424.50KB
返回 下载 相关 举报
Flash的脚本教案PPT课件_第1页
第1页 / 共71页
Flash的脚本教案PPT课件_第2页
第2页 / 共71页
Flash的脚本教案PPT课件_第3页
第3页 / 共71页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,*,HTML语言简介,Flash的ActionScript,第一节 揭开ActionScript的神秘面纱,ActionScript是Flash内置的编程语言,用它为动画编程,可以实现各种动画特效、对影片的良好控制、强大的人机交互以及与网络效劳器的交互功能。 ActionScript是一门吸收了C+、Java以及JavaScript等编程语言局部特点的新的语言。ActionScrip使用英文单词和元件提供了一种为Flash影片设置指令的方法。它的存在确保了Flash影片较之普通的按照线性模式播放的动画具备强大得多的人机交互能力。 可以为时间轴中的关键帧、按钮和影片剪辑添加ActionScript。选中这些关键帧、按钮和影片剪辑,翻开其动作面板,你就可以看到它们都添加了哪些脚本。,Actionscript的根本语法规那么,使用Actionscript编写脚本时,如果使用正常模式的动作面板,通过菜单和列表选择选项,可以创立简单的动作。要想用Actionscript编写功能强大的脚本,你就必须深入了解和学习Flash MX的Actionscript脚本语言。 像其它脚本语言一样,Actionscript也有变量、函数、对象、操作符、保存关键字等语言元素,有它自己的语法规那么。Actionscript允许用户创立自己的对象和函数。Actionscript的语法和风格与javascript非常相似,但不完全一样。 Actionscript拥有自己的句法和标点符号使用规那么,这些规那么规定了一些字符和关键字的含义,以及它们的书写顺序。例如,在英语中用句号完毕一个句子,而在Actionscript中那么用分号完毕一个语句。 下面列出的是Actionscript的一些根本语法规那么,对于比较比较特别的规那么,请参阅Actionscript词典。,一、Flash脚本语法,1.点语法 在Actionscript中,点(.)被用来指明与某个对象或电影剪辑相关的属性和方法。它也用标识指向电影剪辑或变量的目标路径。点语法表达式由对象或电影剪辑名开场,接着是一个点,最后是要指定的属性、方法或变量。,点语法表示方法:,对象名.属性方法、变量,点语法使用两个特殊的别名:_root 和_parent、this 。,别名_root 是指主时间轴。可以使用_root别名创立一个绝对路径。例如:_root.rose.stop();,可以用别名_parent引用嵌套当前电影剪辑的电影剪辑。也可以用_parent创立一个相对目标路径。,这里的this也是Flash的关键字 , 这个 this 指AS所在的这条 Timeline .,2、斜杠语法,Flash 5支持这种语法,但不推荐使用。在斜杠语法中,斜杠被用来取代点,用以标明电影剪辑或变量的路径。 要指出一个变量,可以在变量前加上冒号。,例:myMovieClip/childMovieClip:myVariable可以用点语法取代上述斜杠语法表示的目标路径: myMovieClip.childMovieClip.myVariable,斜杠语法在tellTarget动作中使用最普遍,,但这种动作在Flash8中已不再推荐使用。,3.大括号,Actionscript语句用大括号( )分块,如下面的脚本所示:,on(release)myDate = new Date();currentMonth = myDate.getMonth();,4.分号 Actionscript语句用分号(;)完毕,但如果你省略语句结尾的分号,Flash仍然可以成功地编译你的脚本。例如,下面的语句用分号完毕:colum = passedDate.getDay();row = 0;,5.圆括号 定义一个函数时,要把参数放在圆括号中: function myFunction (name, age, reader).调用一个函数时,也要把要传递的参数放在圆括号中: myFunction (“Steve, 10, true);圆括号也可以用来改变ActionScript的优先级,或使自己编写的ActionScript语句更容易阅读。,6、大小写字母,在Actionscript中,只有关键字区分大小写。,对于其余的Actionscript,可以使用大写或小写字母。,例如,下面的语句是等价的:cat.hilite = true;CAT.hilite = true; 但是,遵守一致的大小写约定是一个好的习惯。这样,在阅读Actionscript代码时更易于区分函数和变量的名字。如果在书写关键字时没有使用正确的大小写,你的脚本将会出现错误。例如下面的两个语句:,setProperty(ball,_xscale,scale);setproperty(ball,_xscale,scale);,前一句是正确的,后一句中property中的p应是大写而没有大写,所以是错误的。在动作面板中启用彩色语法功能时,用正确的大小写书写的关键字用蓝色区别显示,因而很容易发现关键字的拼写错误。,7.注释 需要记住一个动作的作用时,可在动作面板中使用comment(注释)语句给帧或按钮动作添加注释。如果你在协作环境中工作或给别人提供范例,添加注释有助于别人对你编写的脚本的正确理解。 在动作面板中选择comment动作时,字符“/被插入到脚本中。如果在你创立脚本时加上注释,即使是较复杂的脚本也易于理解 。,8. 关键字 Actionscript保存一些单词,专用于与本语言之中。因此,不能用这些保存字作为变量、函数或标签的名字。下表列出了Actionscript中所有的关键字:break continue delete elsefor function if innew return this type ofvar void while with【注意】这些关键字都是小写形式,不能写成大写形式。,二、脚本中的常量与变量,1、关于变量 变量是存储信息的容器。容器本身总是一样的,但内容可以改变。,在首次定义一个变量时,最好赋给它一个的值,这称为初始化变量。初始化变量常常是在动画的第一帧进展。对变量初始化使我们能够在播放动画时更容易跟踪和比较变量的值 。,(1)命名变量 给变量命名必须遵守以下规那么:,变量名必须是一个标识符,不能以汉字开头。 变量名不能是一个关键字或逻辑常量true 或false。,变量名在它的作用范围内必须是唯一的参阅变量的作用范围。,trace()函数,trace实际上是一个调试命令,它的输出会在“输出面板显示出来,但在正式发布后不会显示。,应用格式:,trace(expression:object),参数:Expression是要显示的变量或表达式。,变量的声明:即给变量赋值。,变量声明格式:,变量名=,set变量名称,变量值),(2)变量的作用范围,在动作脚本中,有三种类型的变量范围:全局变量、局部变量本地变量、时间轴变量,A:全局变量:在整个文档有效,全局变量就是可以作用在整个Flash影片的所有深度级别上的变量。你可以在某一帧中设置它,并在其他帧中使用和改变它的值。你不需要使用特别的方法创立全局变量,像前一个例子一样,直接设置并使用它,它自动成为一个全局变量。 在许多编程语言中,全局变量可以在任何地方使用。Flash影片使用一个概念叫层级level。整个影片的主时间轴作为根root层级,影片剪辑是时间轴中的小影片。 影片剪辑中的图形和脚本要比根层级低一个级别。影片剪辑不能直接使用根层级中的全局变量。,B:局部变量 局部变量只能存在于当前脚本中,而在其他帧中它将不再存在。你可以在使用同一个变量名在不同的帧中创立不同的局部变量,它们之间将互不影响。 局部变量可用来创立模块化的代码。当前脚本执行完时,局部变量将被从内存中删除;而全局变量将保存到影片完毕。创立局部变量需要使用关键字var。例如,下面的ActionScript创立值为15的局部变量myLocalVariable:myLocalVariable=15;使用var创立局部变量后,在当前代码中就不再需要使用关键字var了。例如,下面的代码创立值为20的局部变量myLocalVariable,然后将其值改为8,再发送到输出窗口中。varmyLocalVariable=20;myLocalVariable=8;trace(myLocalVariable);如果没有特殊的需要,请尽量使用局部变量。,C:时间轴变量:在声明该变量的时间轴内有效,有效期从声明该变量的帧开场.,三、数据类型数据类型说明一个变量或ActionScript元素可以存储的信息种类。在Flash 的ActionScript中有两种数据类型:原始数据类型Primitive 和引用数据类型Reference。,原始数据类型如字符串、数值、逻辑值有一个常数值。因此,可以存储它们所代表的元素的实际值。,引用数据类型如电影剪辑和对象拥有可以改变的值。,1、原始数据类型:,1字符串 字符串是一个字符字母、数字和标点符号序列。在ActionScript语句中输入字符串,使用单引号或双引号括住。可以用加号操作符连接两个字符串。,四、运算符,1、数值操作符 数值操作符执行加、减、乘、除和其它算术运算。括号和负号-也属于算术操作符。下表列出了ActionScript的数值操作符:操作符执行的运算,+ 加法,* 乘法,/ 除法,% 取模,- 减法,+ 递增,- 递减,2、比较操作符,操作符执行的操作,大于,= 大于等于,!=不等于,=相等,3、字符串操作符 +操作符对字符串操作时,其作用是连接两个字符串操作数。,注:Flash 8的ActionScript的数据类型允许同一操作符用于不同的数据类型。因此,再也不需要使用Flash 4的字符串操作符例如eq、 ge和lt等, 除非需要导出Flash 4动画。,4、逻辑操作符 逻辑操作符比较两个逻辑值true 和 false,返回结果也是逻辑值。,操作符执行的操作,& 逻辑与,| 逻辑或,! 逻辑非,添加动作脚本,动作脚本由:事件和动作组成.,事件:由系统预先设置并能被计算机识别。包括:帧事件、鼠标事件、影片剪辑事件。,Flash中能添加行为的对象:关键帧、按钮、影片剪辑。,1、帧: 必须是关键帧,写在关键帧上面的AS,当时间轴上的指针走到这个关键帧的时候,就写在这个帧上面的AS就被触发执行了。,操作方法就是点选关键帧,然后翻开AS面板,语句系列;,2、按钮:,不同于帧上面的AS,按钮上面的AS是要有触发条件的一般为鼠标事件。,写在按钮上面的AS是这种格式的:,on(事件) 要执行的代码 ; ,操作方法是点选目标按钮,然后翻开AS面板,按钮的常用事件:,release 松开,releaseOutside 在按钮外面松开,press 按下,rollOver 鼠标进入按钮的感应区,rollOut 鼠标离开按钮的感应区,1、常用的控制场景的方法,如:,play(); /让时间轴的指针播放,stop(); /停顿时间轴的指针在程序触发时候的那个帧,gotoAndPlay(); /让指针跳转到某个帧,然后继续播放,gotoAndStop(); /让指针跳转到某个帧,停顿在那个帧,nextFrame(); /往下走一帧,prevFrame(); /往前走一帧,nextScene(); /往下一场景,prevScene(); /往前一场景,实例:,用时间轴控制行为控制动画的播放,第二节 影片剪辑的属性,属性,用法,说明,可获得,可设置,取值范围,_x,MC._x,返回/设置MC的横坐标值,Yes,Yes,数值,_y,MC._y,返回/设置MC的纵坐标值,Yes,Yes,数值,_xscale,MC._xscale,返回设置MC的x轴缩放比例,Yes,Yes,数值,_xscale,MC._yscale,返回设置MC的y轴缩放比例,Yes,Yes,数值,_alpha,MC._alpha,返回/设置MC的透明度,Yes,Yes,0-100,_visible,MC._visible,返回/设置MC的可见性,Yes,Yes,true;false,_width,MC._width,返回/设置MC的碇?lt;/td,Yes,Yes,数值,_height,MC._height,返回/设置MC的高值,Yes,Yes,数值,_rotation,MC._rotation,返回/设置MC的角度,Yes,Yes,数值,_currentframe,MC._currentframe,返回MC的当前帧,Yes,No,-,_totalframes,MC._totalframes,返回MC的总帧数,Yes,No,-,_framesloaded,MC._framesloaded,返回已下载帧数,Yes,No,-,_name,MC._name,返回/设置MC的名称,Yes,Yes,-,鼠标位置 你不但可以获得影片中影片剪辑的坐标位置,还可以获得鼠标位置,即鼠标光标在影片中的坐标位置。表示鼠标光标的坐标属性的关键字是_xmouse和_ymouse,_xmouse代表光标的水平坐标位置,ymouse代表光标的垂直坐标位置。需要说明的是,如果这两个关键字用在主时间轴中,那么它们表示鼠标光标相对于主场景的坐标位置;如果这两个关键字用在影片剪辑中,那么它们表示鼠标光标相对于该影片剪辑的坐标位置。_xmouse和_ymouse属性都是从对象的坐标原点开场计算的,即在主时间轴中代表光标与左上角之间的距离;在影片剪辑中代表光标与影片剪辑中心之间的距离。 多数情况下,你需要用到鼠标光标在主场景中的位置,所以可以使用_root._xmouse和_root._ymouse表示。,Date对象应用,Date对象使您可以获取相对于通用时间格林尼治平均时,现在叫做通用时间或UTC或相对于运行FlashPlayer的操作系统的日期和时间值。Date对象的方法不是静态的,但仅应用于调用方法时指定的Date对象的单个实例。Date.UTC方法是个例外,它是一个静态方法。Date对象以不同的方式处理夏时制,具体取决于操作系统和FlashPlayer的版本。 假设要调用Date对象的方法,必须首先使用Date对象的构造函数创立一个Date对象的实例。,一、Date对象由七局部构成,它们是:,year:099表示19001999年,如果要表示在此以外的年,必须使用完整的4位数字。,month:011表示1月12月。,date:131表示日期。,hour:023表示小时数。,minute:059表示分钟数。,second:059表示秒数。,millisecond:0999表示毫秒数。,二、Data对象的创立方法,Date对象主要有两种创立方法:,1、一种是通过指定时间创立一个Date对象的实例,这时至少要用到year和month两个参数,如下所示: myDate=newDate(2003,7,8,13,16,500);2、另一种方法是通过获取系统时间创立一个Date对象的实例,这时不指定任何参数,如下所示:myDate=newDate();,创立Date对象后即可使用Date对象的方法, 常用方法如下:,date.getYear():返回简写年份,如1999年返回99,2003年返回103。,getFullYear ():返回完整的4位数年份,如2003年返回2003。,getMonth ():返回月份,如7月返回6。,getDate ():返回日期,如7月16日返回16。,getHours ():返回小时数,如下午1点返回13。,getMinutes (): 、getSeconds ():和getMilliseconds ():方法分别返回分钟、秒和毫秒数。,getDay ():返回星期数,星期日返回0,星期一返回1,以此类推。,getTime ():返回自1970年1月1日上午8时至Date对象所指时间的毫秒数。,实例:用动态文本框制作电子时钟。,准确的时钟,制作万年历,第三节 影片剪辑行为应用,控制影片剪辑的行为方法很多,下面介绍常用的一些行为方法 。,1、Array对象 Array对象动作面板的“对象/“核心目录即数组,它用来记录成组的相关或相似变量。数组中的单个变量称为元素,数组中的每个元素对应一个索引,访问元素需要使用索引,索引需要用方括号括起来。如下所示的ActionScript创立一个空的数组:myArray=newArray();如下所示的ActionScript创立一个确定值的数组并在输出窗口中显示每个元素的值:weekDay=newArray(SUN,MON,TUE,WED,TUR,FRI,SAT);for(vari=0;i7;i+)trace(weekDayi);,2、设置影片剪辑属性,语法格式:setProperty(对象名称,属性,属性值),可等价于:,影片剪辑名称._属性=属性值,说明:假设影片剪辑名称为变量或表达式要表示成:,_root(this,parent)变量或表达式._属性=属性值,3、复制影片剪辑 duplicateMovieClip动作动作面板的“动作/“影片剪辑控制目录和MovieClip对象动作面板的“对象/“影片目录中的duplicateMovieClip方法都用于在影片播放时创立影片剪辑的实例,也即复制场景中的父影片剪辑以产生新的影片剪辑。它们和后面要介绍的attachMovie方法对于要在影片中重复产生较多一样图形或动画对象时非常有用,如棋类游戏、射击游戏、鼠标跟随、下雪等特效动画。,语法格式:duplicateMovieClip(对象名称,新对象名称,深度),实例:制作下雨的效果,4删除影片剪辑 通过以上方法创立的影片剪辑实例都可以使用removeMovieClip动作动作面板的“动作/“影片剪辑控制目录或MovieClip对象的removeMovieClip方法删除,,语法格式:removeMovieClip(对象名称),实例:用按钮添加行为进展影片剪辑的删除,5、单击影片剪辑 你也许会认为只有按钮才能被鼠标单击,其实并非如此,采用一些技巧,影片剪辑也能承受鼠标的单击动作,并且可以有几种方法实现这种功能。,1将按钮置于影片剪辑中 影片剪辑本身并不能响应鼠标单击动作,所以不能像按钮一样使用on(release)或是on(press)等事件处理函数。要使影片剪辑响应鼠标单击动作,可以在影片剪辑中放入按钮。如前一章中的台球实例,在球杆影片剪辑中即参加了一个覆盖整个球杆的隐形按钮,当单击球杆实际上是单击按钮时,即令影片剪辑开场播放,执行击球的动作。,实例:制作鼠标经过特效,2hitTest方法 在影片剪辑中参加按钮并不是让影片剪辑响应鼠标动作的唯一方法。事实上,你可以使用onClipEvent(mouseDown)或是onClipEvent(mouseUp)或是onClipEvent(mouseMove)等事件处理函数响应鼠标的动作, 虽然影片剪辑中有这们的事件处理函数,但它与按钮的事件处理函数是有明显区别的。如影片剪辑的onClipEvent(mouseUp)事件,无论鼠标在什么位置单击,只要是包含该函数的影片剪辑都要执行相应的动作;而按钮的on(release)事件只有当鼠标在按钮上单击才会发生。,命令格式一:影片剪辑.hitTest(被拖拽的实例),这个是比较简单的检测碰撞命令命令格式二:影片剪辑.hitTest(被拖拽实例的轴坐标,被拖拽实例的轴坐标,对象的矩形区域范围还是对象本身范围),这个是比较复杂点的检测碰撞命令,矩形区域范围和对象本身范围上面的命令中,false表示对象的矩形区域范围,true表示对象本身的范围,实例1:用onClipEvent函数,在影片剪辑内部添加如下代码:,onClipEvent(enterFrame),this._x=_root._xmouse;,this._y=_root._ymouse;,此时,鼠标在任意位置都可以拖动MC,实例2:,在影片剪辑内部添加代码:,onClipEvent(enterFrame),if (this.hitTest(_root._xmouse, _root._ymouse, true) ,this._x=_root._xmouse;,this._y=_root._ymouse;,以上语句在enterframe事件发生时,判断鼠标位置所在点与当前影片剪辑之间是否相交,只有当鼠标放在影片剪辑上时才能拖动MC,实例:拖动的蜡烛,6、startDrag:拖动影片剪辑,语法格式:startDrag(“对象名称,属性,坐标,可等同于:对象名称.startDrag(),7、stopDrag: 停顿拖动影片剪辑,语法格式:stopDrag(“对象名称),等同于:对象名称.stopDrag(),实例:拖动的蜡烛实例,拖动的蝴蝶,简单拼图游戏(用startDrag与hittest、单用startDrag),1、Fscommand指令使用的语法是:,Fscommand(command,arguments)Command是指令的相关命令,arguments是命令的参数。,说明,函数;使 SWF 文件能够与 Flash Player 或承载 Flash Player 的程序如 Web 浏览器进展通讯。还可使用 fscommand 动作将消息传递给 Macromedia Director,或者传递给 Visual Basic、Visual C+ 和其它可承载 ActiveX 控件的程序。 用法 1:假设要将消息发送给 Flash Player,必须使用预定义的命令和参数。下表显示可为 fscommand 动作的 command 和 parameters 参数指定的值,这些值用于控制在 Flash player包括播放器中播放的 SWF 文件:,1、全屏播放Flash,“Fullscreen是全屏的意思,在默认的情况下,Flash动画不是以全屏播放false,如果需要让动画以全屏状态播放,就必须把Fullscreen命令设置为True,写为:Fscommand (Fullscreen,True);根据需要,我们可以把它写到帧、按钮、MCMovie Clip中。,2、取消右键菜单,Showmenu命令是用来设置是True否false显示Flash动画播放器的快捷菜单的全部指令,即右击鼠标时弹出的菜单,默认为True,如果要取消弹出的菜单,必须在第一帧这样设置:Fscommand (showmenu,false);,3、关闭动画,quit命令是用来关闭播放器的.swf和.exe文件,该命令没有参数,写为:fscommand (quit);,如果你想在flash动画完毕时出现一个关闭动画的按钮,可以按下面的步骤做。,执行“Insert下的“New Symbol或按Ctrl+F8,在弹出的窗口中选Button,然后制作一个简单的按钮,回到场景中,选中最后一帧,从“Library中把刚刚建立的按钮拖到场景中,因为该按钮在动画的最后才显示。,给按钮写上如下代码,那么实现按下按钮即关闭flash动画。,on (release) fscommand (quit);,脚本的控制构造,Flash的脚本控制构造有三种:顺序构造、分支构造、循环构造。,一、分支构造,1、单分支,格式:,if (条件),要执行的代码;,功能:如果条件满足,执行相应语句;如果条件不满足,程序继续。,2、双分支,格式:,if (条件),/条件满足执行这里的代码 1,else,/条件不满足执行这里的代码 2,功能:如果条件满足,执行相应语句1;如果条件不满足,执行相应语句2;,3、多分支,格式: switch(变量),case 值1:语句1;break;,case 值2:语句2;break;,case 值3:语句3;break;,default:语句4,二、循环构造,for(初值;条件;下一个) ,/执行这里的代码N次,while(条件),/当条件满足时一直执行这里的代码,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 中学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!