flash AS脚本学习笔记.doc_第1页
flash AS脚本学习笔记.doc_第2页
flash AS脚本学习笔记.doc_第3页
flash AS脚本学习笔记.doc_第4页
flash AS脚本学习笔记.doc_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

【写在前面】本学习笔记只研究AS语言(AS2.0)。不涉及动画制作部分。所有实例均在Flash CS6中制作并测试通过,中文多使用微软雅黑字体(实例【填空题】Ctrl+Enter测试时无法输入中文】,但发布swf格式后没有问题,可能是CS6对中文支持不好)。AS包含大量函数,受本人能力和精力限制,只能尽可能以基本函数和制作课件时会用到的函数为实例,进行整理。实例中没有逐条解释,但课件实例前知识点和课件思路都已写下来。AS2.0语法不是很严格,本人在实例中所写代码有些部分可能不是很规范(可运行不代表规范),一个问题也可以有多种写法,大家共同研究、讨论、提高。第一部分 脚本基础知识FLASH脚本-AS概念: Action Script是Flash的脚本语言, 具有强大的交互功能,通过脚本应用,用户对动画元件的控制得到加强。目前提供了AS2.0和AS3.0两个版本。动作面板是Flash提供的运行编程的专用环境F9打开动作面板;动作面板界面动作面板工具栏几个基本概念:动作:动作是在播放SWF文件时指示SWF文件执行某些任务的语句。对象:是面向对象程序设计的核心和基本元素,对象把一系列的数据和操作该数据的代码封装在一起,从而使得程序设者在编程时不必关心对象内部的设计。属性:用于定义对象的特性,如是否可见、颜色和尺寸等。 方法:是与对象相关的函数,通过这些函数可操纵对象或了解与对象相关的一些信息。事件:触发作用的事情,如鼠标移动,按下。Action Script的基本语法点语法:动作脚本中,点(.)通常用于指定对象或影片剪辑相关联的属性或方法,或者标识影片剪辑、变量、数对象的目标路径。点语法表达式是以对象或影片剪辑的名称开始,后跟一个点,最后以要指定的元素结束。小括号:定义函数中的相关参数;大括号: 形成一个完整的语句块;分号:每条语句以;结束;注释:/后可跟上注释;字母大小写:关键字要区分大小写;在AS2中,ActionScript代码可以添加到关键帧(Keyframe)、按钮(Button)或影片剪辑(Movie Clips)中,并分别称之为帧动作、按钮动作及影片剪辑动作。注:图形剪辑上不可添加动作脚本【时间轴上AS编写规则】基本AS命令:gotoAndPlay:从当前帧转到目标帧开始播放动画。 gotoAndStop:从当前帧转到目标帧并停止播放动画。 play:开始播放已停止了的动画。 stop:从该帧停止当前正在播放的动画。 nextFrame:从当前帧转到下一帧。 nextScene:从当前场景转到下一场景。 prevFrame:从当前帧转到前一帧。 prevScene:从当前场景转到前一场景。 stopAllSounds:停止正在播放的所有声音。 【按钮的AS编写规则】方法一:写在按钮本身上on(事件)/要执行的脚本程序 方法二:写在时间轴上面按钮实例的名字.事件名称=function() /要执行的脚本程序 【实 例】1-01-1基础(按钮动作编写规则).swf 【源文件】1-01-1基础(按钮动作编写规则).fla实例说明:两个按钮动作分别写在时间轴和按钮上,实现同一个功能。修改实例名称方法:打开元件的属性面板,CS6的话属性面板在右侧。如果看不到属性面板可以通过菜单栏中的窗口菜单下找,也可以用快捷键Ctrl+F3调出来。涉及知识点:定义实例的名称和变量名要遵守如下的规则: (1)不能是as 关键字,所谓关键字也称保留字,指as 预先定义好的标识符。 (2)不能以数字开头,第一个字符必须是字母或下划线“_”和美元符“$” 。 (4)中间不能有空格。 (5)变量名中不能使用标点符号, (6)不应将动作脚本语言中的任何元素用作变量名称。附:所有动作脚本关键字Break case class continueDefault delete dynamic elseExtends for function getIf implements importinInstanceof interface intrinsic newPrivate public returnsetstatic switch this typeof var void while with按钮事件说明 Press 事件发生于鼠标在按钮上方,并按下鼠标 Release 发生在按钮上方按下鼠标,接着松开鼠标时。Releaseoutside 发生于在按钮上方按下鼠标,接着把光标移动到按钮之外,然后松开鼠标 Rollover 当鼠标滑入按钮时 Rollout 当鼠标滑出按钮时 Dragover 发生于按着鼠标不放,光标滑入按钮 Dragout 发生于按着鼠标不放,光标滑出按钮 Keypress 发生于用户按下特定的键盘按键时 【实 例】1-01-2基础(按钮事件实例). swf 【源文件】1-01-2基础(按钮事件实例).fla说明:四个按钮采用四个不同事件,分别控制四个影片播放。四个脚本动作写在按钮上,点击按钮可在动作面板中查看。【影片剪辑AS编写规则】方法一:写在电影剪辑本身上,onClipEvent (事件) /脚本程序 方法二:写在时间轴上面实例名.事件名称=function() /脚本程序 【实 例】1-02基础(影片剪辑编写规则).swf 【源文件】1-02基础(影片剪辑编写规则).fla影片剪辑事件说明load 影片剪辑一旦被实例化并出现在时间轴中时,即启动此动作。 unload 在从时间轴中删除影片剪辑之后,此动作在第一帧中启动。enterFrame 以影片帧频不断地触发此动作。 mouseMove 每次移动鼠标时启动此动作。mouseDown 当按下鼠标左键时启动此动作。 mouseUp 当释放鼠标左键时启动此动作。 keyDown 当按下某个键时启动此动作。keyUp 当释放某个键时启动此动作。 data 当在 loadVariables 或 loadMovie 动作中接收数据时启动此动作。【实 例】1-02基础(影片剪辑事件实例).swf 【源文件】1-02基础(影片剪辑事件实例).fla知识点:涉及其它函数说明String.fromCharCode(Key.getAscii():作用:记录按键名称Key.getAscii:返回与按键相对应的ASCII码。(如字母A对应的ASCII码为65,B对应的ASCII码为66,a对应的ASCII码为97, b对应的ASCII码为98,+对应的ASCII码为43等。只有字符才有ASCII码,键盘上的功能键没有ASCII码。)String.fromCharCode:将ASCII码转换成字符。文本框相关后面会提到,这里暂时不提。【影片剪辑路径】类似网页超链接路径绝对路径 绝对目标路径指的是从根时间轴开始,一直延续到列表中目标时间轴中的实例为止。 绝对目 标路径简单易懂但重用性差。 在编写绝对目标路径时,首先写上_root,一方面表示这个路径是一个绝对路径,另一方面 表示这个路径的最顶层时间轴是本场景中的根时间轴_root。例如:_root.mc影片剪辑之间的位置关系有两种:一是父子关系;二是并列关系 所谓父子关系指的是包含与被包含的关系,例如: 把影片剪辑 mc1 拖放到影片剪辑 mc 中,则称 mc1 是 mc 的子级,反过来 mc 称作 mc1 的父级。它们的层次结构用点语法表示,圆点前面的对象包含着圆点后面的对象,如_root.mc.mc1 即_root 包含了 mc,而 mc包含了 mc1。相对路径 相对目标路径取决于控制时间轴和目标时间轴之间的关系,相对目标路径就是站在控制点去 看被控制点。若向父级方向看也就是向根时间轴方向看,在相对路径中,使用关键字 this 指示当前时间轴:使用别名_parent 指示当前时间轴的父级时间轴,可以重复使用_parent,每 使用一次就会在同一层的影片剪辑的层次中上升一级,有多少元件就写多少_parent,若向下看只需要用点运算符,中间有多少元件就写多少实例名。 例如: this._parent this._parent._parent this.mc.mc1 【实 例】2-01影片路径.swf 【源文件】2-01影片路径.fla实例说明:第一组按钮控制run_mc本身 即_root.run_mc第二组按钮控制根目录时间轴 即_root第三组按钮同时控制两者影片剪辑基本属性1 _x:影片剪辑在舞台上的x坐标(整数,以像素为单位) 。_y:影片剪辑在舞台上的y坐标(整数,以像素为单位)。 例 :mymc._x=100;mymc._y=100; / 设置mymc影片剪辑的坐标位置为(100,100) 2. _xscale:影片剪辑实例的水平缩放比例。 _yscale:影片剪辑实例的垂直缩放比例。 取值为正整数,100即为保持不变。 例:mymc._xscale=50; mymc._yscale=50; / 设置影片剪辑大小为原来大小的一半 3. _rotation:影片剪辑实例的旋转角度(以度为单位)。 从0到180的值表示顺时针旋转,从0到-180的值表示逆时针旋转。不属于上述范围的值将与360相加或相减以得到该范围内的值。 例:mymc._rotation+=5; / 设置影片剪辑在原有基础上顺时针旋转5度4. _alpha:影片剪辑的透明度。 取值范围0-100,0表示完全透明,100表示完全不透明。 例:mymc._alpha=0; /设置影片剪辑透明度为0,影片剪辑隐藏的一种方法。5._visible:影片剪辑的可见性。 确定影片剪辑实例的可见性,当影片剪辑实例的_visible值是true(或者为1)时实例可见;当实例的_visible的值是false(或者为0)时实例不可见。实现影片剪辑的显示和隐藏。 例:mymc._visible=false; / 设置影片剪辑隐藏。6. _height:影片剪辑实例的高度(以像素为单位)。_width:影片剪辑实例的宽度(以像素为单位)。 7._xmouse,_ymouse 鼠标指针相对于影片剪辑坐标原点的坐标位置,是相对坐标,不是绝对坐标,可以读取,不可以设置。【实 例】2-02路径及属性.swf 【源文件】2-02路径及属性.fla实例说明:包含关系如下:zhengti_mc包含renwu_mc,renwu_mc包含mybtn_btn按钮注意路径的使用和属性的设置【动态文本赋值】方法一:动态文本实例的名字.text=”赋值的内容”方法二:变量名=“赋值的内容”【实 例】3-01文本框(文本框赋值).swf 【源文件】3-01文本框(文本框赋值).fla相关知识:数据分为字符串、数值和逻辑型三种。字符串型(string) :字符串是诸如文字、字母、数字和标点符号等字符的序列。在动作脚本语句中输入字符串的方式是将其放在单引号或双引号之间。数值型 (Number) :您可以使用加(+)、减(-)、乘(*)、除(/)、求模(%)、递增(+)和递减(- -) 等算术运算符来处理数字,也可使用内置的 Math 和 Number 类的方法来处理数字。布尔型(boolean) :只有 “真 (true) ”“假(false) ” 两种值的数据。布尔值是 true 或 false 中的一个,动作脚本也会在适当时将值 true 和 false 转换为 1 和 0。实例说明:文本框输入默认为字符串型,Number(A)将输入的A的值强制转化为数值型。在执行加法运算时,如果,操作数是数字类型,那么执行的加法就是数字相加,如果操作数是字符串类型,那么这里的加法就是合并字符串;如果,操作数中有字符串,有数字,那么程序就会把其中的数字当成字符串; 动态文本和输入文本中的变量值, 程序都把它看成 字符串类型,要执行数字相加时,要转化成数字类型。例如:数值型 【2+3】 输出【5】字符串型【2+3 】输出【23】数值加字符串 【2+学习AS脚本 】输出【2学习AS脚本】数组数组是Action Script中最简单最有用的对象之一,许多要使用变量、String对象、for或while循环的任务,如果使用数组来处理就会有效得多。格式一:数组名:Array=new Array(元素1,元素2,) 格式二: 数组名:Array=new Array(); 数组名0=值; 数组名1=值; 【实 例】3-02填空题.swf 【源文件】3-02填空题.fla实例说明:为了维护和阅读方便,这里将答案存放在数组daan中,调用时只需调用daan0、daan1、daan2注:这里的var不可省略,2.0中如不写var也可直接写成daan = new Array(青海湖, 鄱阳湖, 塔里木, 东北平原);但不规范。另:可能CS6.0对中文支持不好,Ctrl+Enter测试调试时文本框内无法输入中文,但发布后无问题。脚本的控制结构Flash的脚本控制结构有三种:顺序结构、分支结构、循环结构【分支结构】1、单分支格式: if (条件) 要执行的代码; 如果条件满足,执行相应语句;如果条件不满足,程序继续。2、双分支格式:if (条件) 脚本代码 1 /条件满足执行这里的代码 1 else 脚本代码 2 /条件不满足执行这里的代码 2功能:如果条件满足执行相应语句1;如果条件不满足执行相应语句2;【实 例】4-01单选题一(分支结构).swf 【源文件】4-01单选题一(分支结构).fla实例说明:通过判断score的值来控制对错按钮显示结果if(score=1)_root.yesno_mc.gotoAndStop(2);else_root.yesno_mc.gotoAndStop(3);3、多分支格式: switch(变量) case 值1:语句1;break; case 值2:语句2;break; case 值3:语句3;break; default:语句4【实 例】4-02单选题二(多分支结构).swf 【源文件】4-02单选题二(多分支结构).fla实例说明:通过判断test按钮组返回的值的值来决定是否得分,其中default为在都未作选择的情况时,让score的值为0.switch (test1.selection.data)case 1 :score = 1;break;case 0 :score = 0;break;default :score = 0;break;【日期与时间函数】要使用Date类首先要创建一个Date类实例: var now:Date = new Date();创建了Date实例后,就可以调用Date的方法,来获取当前时间。 getDate()方法:将返回当前的号数,返回值是1-31之间。 getDay()方法:返回当前是星期几,0-6,0代表星期日。 getFullYear()方法:返回当前年份,4位数。 getMonth()方法:返回前的月份数,0-11。请注意这里是0-11,即0代表1月。那么当前的月份应该是: getMonth() +1. getHours()方法:返回当前是几点,0-23。 getMinutes()方法:返回当前是分钟数,0-59。 getSeconds()方法:返回当前的秒数,0-59。 getTime()方法:返回当前时间自通用时间1970年1月1日午夜以来的毫秒数。这个方法常被用来比较两个日期间的距离。比如倒计时牌。实例倒计时器【实 例】6-02时间函数(计时器).swf 【源文件】6-02时间函数(计时器).fla实例说明原理:创建一个函数jishi(),功能为:每运行一次总秒数减去一。利用setInterval函数每一秒调用一次这个函数,以实现倒计时的目的。setInterval和clearInterval时间间隔可以用setInterval命令来创建并用clearInterval命令来终止。setInterval动作的作用是在播放动画的时,每隔一定时间就调用函数,方法或对象setInterval(function,interval);第一个参数function:也就是要调用的函数或方法;可以是匿名的函数、命名函数、对象方法或电影剪辑第二个参数interval:调用的时间间隔,毫秒为单位。clearInterval()清除对 setInterval() 的调用。 涉及其它函数知识:Math.floor (val):返回由参数 val 指定的数字或表达式的下限值。 下限值是小于等于指定数字或表达式的最接近的整数。例如: Math.floor( 1.2 ) = 1 ;【影片剪辑的拖拽】命令格式: StartDrag(要拖动的影片剪辑,是否锁定到鼠标位置中央,左,上,右,下)或写为: 要拖动的影片剪辑.StartDrag(是否锁定到鼠标位置中央,左,上,右,下) 其中内的为可选参数,也就是可以写,也可以不写。至于左,上,右,下四个参数是用来控制被拖对象的移动范围。、停止拖拽命令讲解 命令格式: 被拖动的影片剪辑实例名.stopDrag() 【实 例】5-01影片剪辑的拖拽.swf 【源文件】5-01影片剪辑的拖拽.fla实例说明:前三个仪器可任意拖拽,第四个被限制拖动范围,范围以影片剪辑的中心为准【hitTest碰撞检测命令】命令格式: 目标影片剪辑的实例.hitTest(被拖拽的实例) 检测是否碰到对象的矩形区域范围。(注意:是矩形区域,不规则形状暂不研究)【实 例】5-02碰撞试验.swf 【源文件】5-02碰撞试验.fla实例说明:设置两个影片剪辑均可拖动,判断是否碰撞,如果是jieguo_mc显示撞到了,否则显示没撞到。_root.onEnterFrame函数在此作用 :影片每帧都执行碰撞检测。拖拽与碰撞结合实例:拖拽题(仪器摆放、拼图等与之原理相同)【实 例】5-03拖拽题(拖拽+碰撞).swf 【源文件】5-03拖拽题(拖拽+碰撞).fla实例说明:当拖拽【选项mc】松开时,判断是否与选项区域块发生碰撞,如果是,坐标设置为与选项区域块一致,否则回到原始位置。for循环控制语句 For 循环命令格式: for(初始变量;条件语句;迭加命令语句) 要执行的代码;例如:for (i=1; i5; i+) Trace(i); 这个 for 循环总共循环了4次 ,输出结果为:12 3 4trace()函数(这个很实用)trace()函数是在flash测试影片是输出信息,例如想知道影片里的哪个变量的数值,就可以用它查看,方便我们知道变量的值是不是自己要的结果,方便调试。语法为:trace(变量或其它信息);【影片剪辑复制、删除命令:duplicateMovieClip和removeMovieClip】 duplicateMovieClip复制影片剪辑语句语法格式如下:duplicateMovieClip(目标, 新名称, 深度)“目标”参数为要进行复制的目标影片剪辑。“新名称” 参数为新复制的影片剪辑的唯一标识符。“深度” 已经复制电影剪辑的堆叠顺序编号。每个复制的影片剪辑都必须设置唯一的深度,否则后来复制的电影剪辑将替换以前的复制的影片剪辑,新复制的电影剪辑总是在原电影剪辑的上方。removeMovieClip是与duplicateMovieClip经常配合使用的语句,其作用是用来删除指定的影片剪辑,格式如下:removeMovieClip(目标)【实 例】8-01影片剪辑复制、删除.swf 【源文件】8-01影片剪辑复制、删除.fla实例说明:duplicateMovieClip(renwu_mc, renwu_mc +depth, depth);复制影片剪辑renwu_mc 为新的名为renwu_mc+depth的影片剪辑,层次为depth。后面一个参数depth为新复制的影片剪辑的深度级别,在这里依次为1、28。在同一时间线上,每一个新复制的影片剪辑占用一个唯一的深度级别,并层层堆叠,如果后复制出的影片剪辑与前面复制出的影片剪辑深度级别相同就会覆盖并替换掉前一个影片剪辑,所以必须为每一个新复制的影片剪辑分配一个唯一的深度级别。_rootrenwu_mc + depth._x = _root.renwu_mc._x + 70 * depth;语句的作用为新复制的剪辑新的坐标,否则都会重叠在一起。这里又出现了一个新的运算符,方括号“ ”是数组运算符,里面的参数为相同类型的一组数据, rootrenwu_mc + depth只是数组运算的一种形式,在这里方括号“ ”里运算的结果即为renwu_mc 1、renwu_mc2、renwu_mc8。在这里使用数组可以动态的给_x、_y属性赋值。【实 例】8-02层次级别测试.swf 【源文件】8-02层次级别测试.fla实例说明:观察花的层次关系,理解层次级别概念。无新知识。【制作滑块并取值】滑块在课件制作中用途很多,如可实现:改变或输入数值,如一些仪器的表盘、电压、电流,温度,电阻等;响应输入,如我们给一个具体的数值,会引起温度计,液面等现象的变化;缩放图片或调节音量等。【实 例】7-01控制滑块取值.swf 【源文件】7-01控制滑块取值.fla实例说明:建立一个可拖拽的影片剪辑并控制拖动范围,作为滑块。关键是计算出滑块移动的绝对值,将绝对值/长度 即可得出一个0-1之间的数值。本例中橙色进度条的实现是由这个值控制其宽度。【声音 AS 的编写与控制】通过 sound 命令创建一个新的 sound 对象。再用 attachSound 命令连接到库里的声音,就可以用来控制动画中的声音。常用命令讲解: new Sound() 此命令用来创建一个新的 sound 对象,有了sound 对象我们才能用来控制声音。 attachSound(库中的声音) 此命令可以使我们创建的声音对象连接到库里的声音,以便进行控制。 mySound.start(从第几秒开始播放, 循环次数) 此命令可以是声音开始播放,里面的两个参数是可选的。 mySound.stop() 停止声音的播放。 mySound.setVolume(音量级别) 此命令可以控制声音的音量高低,( 范围从 0-100)。mySound.duration声音的长度。 ( 单位为毫秒, 1000 毫秒 1 秒)mySound.position声音已播放的毫秒数。 ( 单位为毫秒)声音的导入: 、按 Ctrl+R(文件导入)导入一个声音文件,库中能看到导入的声音。 、 选中库中的声音文件,单击鼠标右键, 在弹出的菜单中选择“链接.”将会弹出一个链接的对话框,请勾选“为动作脚本导出”和“在第一帧导出”选项,并输入一个标识符:mysound (名字可任意写),单击确定。、建一个新的声音对象,并且连接到库里的声音,用来控制声音。输入以下脚本: mymusic = new Sound();/创建一个名字叫 music 的声音对象。 mymusic.attachSound(mysound);/将这个声音对象与库里的标识符为“mysound”的声音连接。【实 例】7-02声音控制.swf 【源文件】7-02声音控制.fla实例说明:声音的停止可直接使用mymusic.stop()或setVolume=0。如要暂停声音,AS中没有现成命令,解决方法可在停止时记录停止的位置,再次播放时从此刻进行播放,以实现暂停的目的。【画线函数】lineStyle(线条宽度,线条颜色,线条透明度)函数定义线的式样。 moveTo(起点横坐标, 起点纵坐标)功能:将当前绘画位置移动到 (x, y)。如果缺少任何一个参数,则此方法将失败,并且当前绘画位置不改变。 lineTo(终点横坐标, 终点纵坐标)功能: 使用当前线条样式绘制一条从当前绘画位置到 (x, y) 的线条; 当前绘画位置随后会设置为 (x,y)。如果正在其中绘制的影片剪辑包含用 Flash 绘画工具创建的内容,则调用 lineTo() 方法将在该内容下面进行绘制。如果在对 moveTo() 进行任何调用之前调用了 lineTo(),则当前绘画位置默认为 (0, 0)。如果缺少任何一个参数,则此方法将失败,并且当前绘画位置不改变。 例如:lineStyle(2, 0x00ff00, 100);/画线条的宽度为2,色彩为绿色,透明度为100 moveTo(100, 50); /画竖线的起点横坐标100,纵坐标50 lineTo(100, 300); /画竖线的终点横坐标100,纵坐标300;线条颜色为16进制颜色,当线条宽度为0时线的粗细为【极细】【鼠标画线(简单画图板)】函数说明:my_mc.createEmptyMovieClip(instanceName, depth)作用:创建作为现有影片剪辑(my_mc)子级的空影片剪辑;instanceName:创建的子级影片剪辑的名称;depth:创建的子级影片剪辑的深度.【实 例】9-01画线基础(简单画图板).swf 【源文件】9-01画线基础(简单画图板).fla实例说明:思路 当鼠标按下时,记录鼠标按下时的坐标(_xmouse,_ymouse)创建一个空影片剪辑,当鼠标移动时执行画线:起点为鼠标按下的点,终点为鼠标实时坐标,当鼠标按下时结束这个画线过程,并且将深度加1,为下一次画线作准备。这个画图板中将线的粗细和颜色设成变量,用户自行取值。清除画线:利用循环使用removeMovieClip函数删除之前生产的影片剪辑,共depth-1个。【正弦曲线】方法一:利用画线函数【实 例】9-02画正弦函数.swf 【源文件】9-02画正弦函数.fla代码说明:i = 0; /变量初始化,这里i为角度变化,初始为0lineStyle(3,0xff0000,100);/正弦图像线条样式moveTo(yuandx,yuandy);/起点为原点_root.onEnterFrame = function()/执行主时间轴下的事件处理函数i+;/x的下一点的坐标lineTo(yuandx + i,yuandy - A * Math.sin(i * Math.PI / 180); /正玄线的下一点的坐标;Flash坐标系中左上角为(0,0),X越往右越大,Y越往下越大,所以这里Y处sin取负值。方法二:利用duplicateMovieClip函数进行复制点【实 例】9-03正弦函数方法二.swf 【源文件】9-03正弦函数方法二.fla代码说明:利用duplicateMovieClip函数复制出数个点,数量由循环时i的增量决定,增量越大点越少。将x、y的值赋给各个新复制出来的原件的坐标值,以呈现出正弦图像图案。圆的绘制(原理同上)【实 例】9-04画圆.swf 【源文件】9-04画圆.fla代码说明:圆X、Y的基本关系为:X=Math.cos(Math.PI/180*i)*r;Y=Math.sin(Math.PI/180*i)*r;其中:moveTo(yuandx+Math.cos(Math.PI/180*2)*r,yuandy+Math.sin(Math.PI/180*2)*r);目的是为了避免圆初始时从圆心开始,这个与正弦有区别。有兴趣可按正弦第二种方法试试,或设置用户自行输入r(半径的值)。【连线题】【实 例】9-06连线题swf 【源文件】9-06连线题.fla基本无新知识,利用前几个例子可作出。思路:当按下xuanxiangn.anniuA时开始执行画线,当鼠标按下正确选项按钮时停止画线。上部按钮为 xuanxiang1包含anniuA当按钮xuanxiangN.anniuA按下时,在xuanxiangN级别上创建一个新的影片剪辑并且执行画线。当按下下方正确的按钮时停止画线,画线的终点为点击正确按钮时鼠标的坐标值。【随机数Math.random()】函数解释:返回值是一个大于等于0,且小于1的随机数Random函数在flash里是非常有用的,可以生成基本的随机数,创建随机的移动,以及随机的颜色和其他更多的作用。基本的Random函数如下Math.random();可以产生出0-1之间的任意小数,例如0.010590137453 或0.872525005

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论