1.全屏播放 fscommand("fullscreen",true); 2.打开时全屏,在该针停止 fscommand("fullscreen",true); stop(); 3.跳帧播放(从第几针开始播放后) on (press) { gotoAndPlay(?); } 4.点击时开始播放 on (press) { play(); } 5.退出语句 如果是FLASH自带的控件 on (click){ fscommand("quit",""); } 自已做的按钮 on (release){ fscommand("quit",""); } 6、当鼠标滑过影片剪辑时,停止播放时间轴。 on (rollOver) { _root.stop(); } 7、当在影片剪辑上按下鼠标时,停止播放影片剪辑。 on (press) { stop(); } 8、当影片剪辑上按下鼠标时,播放影片剪辑。 on (release) { play(); } 9、当鼠标滑离影片剪辑时,播放当前时间轴。 on (rollOut) { _root.play(); } 10、Goto:跳到一个指定的帧(Frame) Scene: 指定 Scene Frame:Number,Label,Expression,Next Frame,Previous Frame 可以选择 Frame 的编号,标号,通过表达式,下一帧,前一帧 Expression: 定义表达式 Control:Go to and Play,Go to and Stop 通过选择这个项目来确定到达指定的帧以后是继续播放还是停止 例子: Go to and Play (1) 跳到第一帧播放 Go to Next Frame 跳到下一帧播放 Go to and Stop ("intro") 跳到标号为 intro 的帧播 11、Play:播放 Stop:停止 Toggle High Quality:切换画面的细节程度 Stop All Sounds:停止所有声音 Get URL:打开指定的网址 URL: 网址 Windows:_self,_blank,_parent,_top 打开网址时使用的目标 Variables on’t Send,Send use GET,Send use POST 变量的传递方式 例子: Get URL ("next.asp", window="_blank", vars=POST) 在新窗口中打开 next.asp,并且传递参数 12、FScommand:调用命令 Command: 命令 Arguments: 参数 For standalone player:fullscreen,allowscale,showmenu,exec,quit 播放器使用的固定命令和参数 例子: FS Command ("fullscreen", "true") 设置全屏幕播放 13、Load/Unload Movie: 调入/释放外部的影片 Action:Load movie into location,Unload movie from location,Load variables into location: 可以选择是否调入新影片,释放已经调入的影片,调入变量 URL:影片的网址 Location:Level,Target: 调入的层,或者是某一目标对象的位置 Variables on’t Send,Send use GET,Send use POST: 变量的传递方式 例子: Load Movie ("test.swf", 1): 把 test.swf 调入到第一层 Load Movie ("test.swf", "loadit", vars=GET): 把 test.swf 调入到 loadit 目标对象的位置 Unload Movie ("loadit"): 把 loadit 目标对象处的影片释放 Load Variables ("makeit.asp", 2, vars=GET): 调用 makeit.asp 并接收返回的变量 14、 Tell Target: 指定目标对象 Target: 目标对象 例子: Begin Tell Target ("obj") 指定目标对象 obj End Tell Target 15、If Frame is Loaded: 判断某帧是否调入 Scene: 指定场景 Frame:Number,Label,Expression: 指定帧,标号或者表达式 Expression: 表达式 例子: If Frame Is Loaded (Scene 1, "end") End Frame Loaded :判断场景一的标号为 end 的帧是否调入 16、On MouseEvent 鼠标时间响应 Event ress,Release,Release Outside,Roll Over,Roll Out,Drag Over,Drag Out,Key Press 各种事件:按下,放开,在外面放开,焦点移入,移出,拖过,拖出,按键按下 例子: On (Press) 鼠标按下的时候 End On On (Key: s) 键盘上 s 按下的时候 End On 17、If 判断条件是否成立 Condition: 条件 Add Else/Else If clause: 加入 Else 再次判断 例子: If (a=10) 如果 a=10 那么…… End If If (a=10) 如果 a=10 那么……不然…… Else End If 18、Loop 循环 Condition: 条件 例子: Loop While (a=10) 如果 a=10 那么循环 End Loop 19、Call 调用函数帧或对象 Frame: 函数帧 例子: Call ("make") 调用 make 帧程序 20、 Set Property 设置属性 Set:Y Positon,X Position,Y Scale,X Scale,Alpha,Visibility,Rotation,Name,High quality,Show focus rectangle,Sound buffer time 设置 y 坐标,x坐标,y 放大倍数,x 放大倍数,透明度,可视否,旋转角度,名称,精细度,焦点矩形框是否显示,声音缓冲时间(默认5秒) Target: 目标对象 value: 值 例子: Set Property ("aoe", X Position) = "12" 设置目标对象 aoe 的 x 坐标为 12 Set Property (Show focus rectangle) = "0" 取消焦点框 21、Set Variable 设置变量 Variable: 变量 value: 值 例子: Set Variable: "test" = 10 设置 test=10 22、Duplicate/Remove Movie Clip 复制对象 Action uplicate movie clip,Remove duplicate movie clip 可选择是复制还是删除 Target: 目标对象 New name: 新目标对象的名字 Depth: 深度 例子: Duplicate Movie Clip ("aoe", "aoe2", 1) 复制 aoe 一个新的动画,名字叫 aoe2 Remove Movie Clip ("aoe2") 删除目标对象 aoe2 23、Drag Movie Clip 拖动影片片段 Start drag operation: 开始拖动 Target: 目标对象 Constrain to rectangle:Left,Top,Right,Bottom 鼠标的位置,左上右下 Lock mouse to center: 鼠标放置在中心 Stop drag operation 停止拖动 例子: Start Drag ("aoe", L=2, T=3, R=4, B=5) 拖动目标对象 aoe,位置在 L=2, T=3, R=4, B=5 Start Drag ("aoe", lockcenter) 拖动目标对象 aoe,位置在中心 Stop Drag 停止拖动 24、Trace 跟踪 Message: 信息 例子: Trace ("aoe") 显示 aoe Trace (aoe) 显示 aoe 的值 25、 Comment 注释 Comment: 注释 例子: Comment ("计算") 注释:计算 box_btn.onPress=function(){ trace("ok"); }; 按钮实例名称.事件处理方法=function(){ //处理程序 }; 例如: n=1 box_btn.onRelease=function(){ n=n+1 trace("n="+n); } 当按钮被点一下的时候,Output窗口会输出:"n=2" onClipEvent(load){ stop(); } 以上是影片剪辑的事件处理函数。"()"的内部是事件。 在一个FLASH里在第一个场景里调用第二个场景, 要在第一个场景里需要调用的地方加个按钮,然后在按钮上写下如下代码: on (release) { tellTarget ("_root") { gotoAndPlay ("mm2", 1); } } 其中,"mm2"是第二个场景的MC的名称。 on (release) { loadmovie("fz3.swf",1); setProperty("fz3.swf",_x,100); setProperty("fz3.swf",_y,100); _root.createEmptyMovieClip("Card Game"); mc.loadMovie("fz3.swf"); mc._x=0; mc._y=0; } fz3.swf是需要调入的SWF文件,_x,_y是坐标轴 Card Game是SWF中MC的名字 on(release)结构只能用于按钮, 其他相关的几种用法如on(press)、on(rollOver)、on(rollout)、on(dragOver)、on(dragOut)等。 26、else 对if语句可以进行扩展,使用else执行条件不成立(比较表达式为false)时的代码,如下所示: if (x == 9) { gotoAndPlay(15); } else { gotoAndPlay(16); } 你也可以使用else if语句将if语句更推进一步,如下所示: if (x == 9) { gotoAndPlay(15); } else if (x == 10) { gotoAndPlay(16); } else if (x == 11) { gotoAndPlay(20); } else { gotoAndPlay(25); } 你可以让if语句想要多长就有多长,你也可以使用else if语句对别的变量进行比较,如下所示: if (x == 9) { gotoAndPlay(15); } else if (y<20) { gotoAndPlay(16); } else { gotoAndPlay(25); } 27、复合比较 你可以在一个if语句中对几个比较表达式的值进行判断, 比如说你希望在x为9并且y为20时跳转到第10帧,可以使用如下所示的脚本: if ((x == 9) && (y == 20)) { gotoAndPlay(10); } 逻辑与运算符&&将两个比较表达式联接在一起成为一个复合表达式, 当两个表达式的值都为true时复合表达式的值才为true。 每个比较表达式都需要添加独立的括号以便Flash能正确识别。 在Flash的早期版本中使用and执行逻辑与运算,现在已推荐不使用。 你也可以使用逻辑或运算符||将两个比较表达式联接在一起成为一个复合表达式, 只要有一个表达式的值为true,复合表达式的值就为true。如下所示: if ((x == 7) || (y == 15)) { gotoAndPlay(20); } 在该脚本中,只要x为7或者y为15,或者两者都成立,结果都是跳转到第20帧。 只有当两者都不成立时,才不会执行gotoAndPlay命令。 3.4.6 函数 到现在为止,我们都是将脚本放在影片的第1帧中。 如果程序相当复杂,再放在同一帧中就使脚本显得太庞大了。 函数使你可以组织需重用的代码,并放在时间轴中,例如: function myFunction(myNum) { var newNum = myNum+5; return newNum; } 函数以关键字function开头,function后面是函数名。 与变量名相似,你可以指定自己的函数名,最好将函数名取得有意义一些。 函数名后面的括号容纳该函数的参数,所谓参数也是一个变量,它的值在调用该函数时予以指定。 一个函数可以有若干参数,也可以没有参数。无论有没有参数,函数名后都应紧跟一对括号。 大括号中的部分是函数体,在函数体中创建了一个局部变量newNum, 将myNum加5的结果设置为newNum的值。 如果你将10作为参数传递给该函数,newNum的值就是15。 return命令仅用于函数中,使用return结束一个函数并返回函数值。 此处,newNum是用return命令返回的函数值。 要使用函数,就需要调用它,如下所示: var a = myFunction(7); 该语句创建一个新的局部变量a,将7作为参数调用函数myFunction,并将函数返回的结果作为变量a的值。 被调用的函数开始运行,创建一个局部变量myNum,将7作为myNum的值, 然后执行函数体内的代码,使用return命令将newNum的值12返回给函数的调用者。这时,a的值变为12。 函数最大的作用体现在它可以重复使用。如下所示的3行代码产生3个不同的结果: trace(myFunction(3)); trace(myFunction(6)); trace(myFunction(8)); 运行以上代码,你将得到结果8、11和13。 使用函数还有一个好处就是可以只改变函数中的一处,从而影响所有调用该函数的命令。 例如,将函数myFunction中的var newNum = myNum+5改成var newNum = myNum+7, 上面3个调用该函数的命令的结果将变成10、13和15点语法的另一个用途是指定影片剪辑的属性。 如下面的语句将影片剪辑myMC的_alpha(透明度)属性设置为50%: myMC._alpha = 50; 你还可以在影片剪辑中使用点语法定位根(root)中的一个全局变量。 如果你在主时间轴中创建了一个全局变量globelVar, 而要在影片剪辑中使用这个全局变量,可以使用如下的语句: trace(_root.globleVar); stop:使影片停止在当前时间轴的当前帧中。 play:使影片从当前帧开始继续播放。 gotoAndStop:跳转到用帧标签或帧编号指定的某一特定帧并停止。 gotoAndPlay:跳转到用帧标签或帧编号指定的某一特定帧并继续播放。 nextFrame:使影片转到下一帧并停止。 prevFrame:使影片回到上一帧并停止。 stop命令常常用在帧动作中,以使影片停止并等待用户控制。 其他命令常常用在按钮的事件处理函数中。 如果gotoAndPlay命令中只有一个参数,Flash将认为它代表某个帧; 如果有两个参数,第1个参数将作为场景名,第2个参数代表该场景中的帧。 要定位包含某一对象的上一级对象,可以使用关键字_parent。 如果一个影片剪辑是包含在主时间轴中,在影片剪辑中使用_parent和_root的效果是一样的。 如果影片剪辑与主时间轴相差两个层级,即当影片剪辑包含在另一个位于主时间轴中的影片剪辑中, 这时在该影片剪辑中使用_parent指代的是它上一级的影片剪辑, 而_root是指它上两级的主时间轴。在主时间轴中不能使用_parent,因为主时间轴没有上一级。 28、详细了解GOTO语句 prevFrame() 跳至并停止在前一祯。 nextFrame() 跳至并停止在下一祯。 prevScene() 跳至并停止在前一场景的第1帧。 nextScene() 跳至并停止在下一场景的第1帧。 gotoAndPlay([scene,] frame) 跳至scene场景(省略表示当前场景)的frame帧并播放。 gotoAndStop([scene,] frame) 跳至scene场景(省略表示当前场景)的frame帧并停止。 29、了解MC的各种可改写的属性 _x 中心点所在相对X坐标(象素单位) _y 中心点所在相对Y坐标(象素单位) _xscale 横向缩放比例,初始为100 _yscale 纵向缩放比例,初始为100 _rotation 相对旋转角度(度单位) _width 相对显示宽度(象素单位) _height 相对显示高度(象素单位) _alpha 显示透明度(0~100) _visible 是否可见 _focusrect 是否显示焦点框 _name 实例名称 30、三大纪律:1>写代码时一定要用英文(如EN CH)输入法 2>必须要有唯物主义思想,没有加载的MC是不可以更改它的属 性,更不可以写代码去控制它。这个问题较难掌握,高手有时也会 犯,道理就是先有吃的才能请客吃,啥也没有请客吃什么呢 3>操作什么一定要选什么(实际上哪个软件也要这样)。在MX中加代 码时如不选,就一定要写明名称,实际上也是一种先择。 31、八项注意:1>按钮不能盖着输入文本,动态文本和输入文本域不能盖着按钮 2>用loadMoie时LEVEL1及以上的文件尽量少用大隐型按钮 3>从一个文件中复制MC实例到别一个文件中时,尽量复制帧,而不能直接 复制实例, 4>从一个文件中复制MC实例到别一个文件中时,要先把目标文件中的符 号库中原有的符号,装进资夹里,很多网友这个问题上上过当吧? 需要记住一个动作的作用时,可在动作面板中使用comment(注释)语句给帧或按钮动作添加注释。如果你在协作环境中工作或给别人提供范例,添加注释有助于别人对你编写的脚本的正确理解。 在动作面板中选择comment动作时,字符"//"被插入到脚本中。如果在你创建脚本时加上注释,即使是较复杂的脚本也易于理解,例如: on(release){ //建立新的日期对象 myDate = new Date(); currentMonth=myDate.getMonth(); //把用数字表示的月份转换为用文字表示的月份 monthName = calcMoth(currentMonth); year = myDate.getFullYear(); currentDate = myDate.getDat(); } 常量 常量有其值永不改变的属性。常数用大写字母列于动作工具箱中。例如,常数BACKSPACE、ENTER、QUOTE、RETURN、SPACE和TAB是Key对象的属性,指键盘上的键。要测试用户是否在按Enter键,可使用下面的语句:
if(keycode()= =key.ENTER){ alert = "你准备好了吗?" controlMC.gotoAndStop(5);
|