flash代码总结

  • 格式:doc
  • 大小:156.50 KB
  • 文档页数:27

三影片剪辑控制: 控制影片剪辑的动作1. duplicateMovieClip可用性Flash Player 4 。

用法duplicateMovieClip( target , newname , depth ) 参数target 要复制的影片剪辑的目标路径。

newname 复制的影片剪辑的唯一标识符。

depth复制的影片剪辑的唯一深度级别。

深度级别是复制的影片剪辑的堆叠顺序。

这种堆叠顺序很像时间轴中图层的堆叠顺序;较低深度级别的影片剪辑隐藏在较高堆叠顺序的剪辑之下。

必须为每个复制的影片剪辑分配一个唯一的深度级别,以防止它替换现有深度上的影片。

返回无。

说明动作;当影片正在播放时,创建一个影片剪辑的实例。

无论播放头在原始影片剪辑(或“父级”)中处于什么位置,复制的影片剪辑的播放头始终从第一帧开始。

父影片剪辑中的变量不拷贝到复制的影片剪辑中。

如果删除父影片剪辑,则复制的影片剪辑也被删除。

使用removeMovieClip 动作或方法可以删除由duplicateMovieClip 创建的影片剪辑实例。

示例该语句复制影片剪辑实例flower 十次。

变量i 用于为每个复制的影片剪辑创建新实例名和唯一的深度。

on (release) { amount = 10; while(amount>0) { duplicateMovieClip (_root.flower, "mc"+i, i); setProperty2009-12-30 10:39 回复CMischa3位粉丝16楼("mc"+i, _x, random(275)); setProperty ("mc"+i, _y, random(275));setProperty ("mc"+i, _alpha, random(275)); setProperty ("mc"+i, _xscale,random(50)); setProperty ("mc"+i, _yscale, random(50)); i++; amount--; } }另请参见removeMovieClip2. onClipEvent可用性Flash Player 5 。

用法onClipEvent( movieEvent ){ statement(s); } 参数movieEvent 是一个称作“事件”的触发器。

当事件发生时,执行该事件后面花括号中的语句。

可以为movieEvent 参数指定下面的任何值:- load 影片剪辑一旦被实例化并出现在时间轴中时,即启动此动作。

- unload 在从时间轴中删除影片剪辑之后,此动作在第一帧中启动。

处理与Unload 影片剪辑事件关联的动作之前,不向受影响的帧附加任何动作。

- enterFrame 以影片帧频不断地触发此动作。

首先处理与enterFrame 剪辑事件关联的动作,然后才处理附加到受影响帧的所有帧动作脚本。

- mouseMove 每次移动鼠标时启动此动作。

_xmouse 和_ymouse 属性用于确定当前鼠标位置。

- mouseDown 当按下鼠标左键时启动此动作。

- mouseUp当释放鼠标左键时启动此动作。

- keyDown 当按下某个键时启动此动作。

使用Key . getCode 方法获取最近按下的键的有关信息。

-keyUp 当释放某个键时启动此动作。

使用Key . getCode 方法获取最近按下的键的有关信息。

- data 当在loadVariables 或loadMovie 动作中接收数据时启动此动作。

当与loadVariables 动作一起指定时,data事件只发生一次,即加载最后一个变量时。

当与loadMovie 动作一起指定时,获取数据的每一部分时,data 事件都重复发生。

statement(s) 发生mouseEvent时要执行的指令。

说明事件处理函数;触发为特定影片剪辑实例定义的动作。

示例下面的语句在导出影片时包括来自外部文件的脚本;当加载动作所附加到的影片剪辑时,运行包含脚本中的动作:onClipEvent(load) { #include "myScript.as" } 下面的示例将onClipEvent 与keyDown影片事件一起使用。

keyDown 影片事件通常与Key 对象的一个或多个方法和属性一起使用。

下面的脚本使用Key.getCode方法找出用户按下了哪个键;如果按下的键与Key.RIGHT 属性相匹配,则将影片移到下一帧;如果按下的键与Key.LEFT属性相匹配,则将影片移到上一帧。

onClipEvent(keyDown) { if (Key.getCode() == Key.RIGHT) {_parent.nextFrame(); } else if (Key.getCode() == Key.LEFT){2009-12-30 10:39 回复CMischa3位粉丝17楼_parent.prevFrame(); } }下面的示例将onClipEvent 与mouseMove 影片事件一起使用。

_ xmouse和_ ymouse 属性跟踪每次鼠标移动时的鼠标位置。

onClipEvent(mouseMove) { stageX=_root.xmouse;stageY=_root.ymouse; } 另请参见on3. removeMovieClip可用性Flash Player 4 。

用法removeMovieClip( target ) 参数target 用duplicateMovieClip 创建的影片剪辑实例的目标路径,或者用MovieClip 对象的attachMovie 或duplicateMovieClip 方法创建的影片剪辑的实例名。

返回无。

说明动作;删除用MovieClip 对象的attachMovie 或duplicateMovieClip 方法创建的,或者用duplicateMovieClip 动作创建的影片剪辑实例。

另请参见duplicateMovieClip 1/14. setProperty可用性Flash Player 4 。

用法setProperty(" target ", property , value/expression) 参数target 到要设置其属性的影片剪辑实例名称的路径。

要设置的属性。

value 属性的新文本值。

expression计算结果为属性新值的公式。

返回无。

说明动作;当影片播放时,更改影片剪辑的属性值。

示例当单击按钮时,此语句将名为star 的影片剪辑的_alpha属性设置为30% :on(release) { setProperty("star", _alpha, "30"); } 另请参见getProperty 1/15. startDrag可用性Flash Player 4 。

用法startDrag( target ,[ lock , left , top , right ,bottom ]) 参数target 要拖动的影片剪辑的目标路径。

lock 一个布尔值,指定可拖动影片剪辑是锁定到鼠标位置中央( true ),还是锁定到用户首次点击该影片剪辑的位置上( false ) 。

此参数是可选的。

left 、top 、right 、bottom相对于影片剪辑父级坐标的值,这些坐标指定该影片剪辑的约束矩形。

这些参数是可选的。

返回无。

说明动作;使target影片剪辑在影片播放过程中可拖动。

一次只能拖动一个影片剪辑。

执行startDrag 动作后,影片剪辑将保持可拖动状态,直到被stopDrag动作明确停止为止,或者直到为其他影片剪辑调用了startDrag 动作为止。

示例若要创建用户可以放在任何位置的影片剪辑,可将startDrag和stopDrag 动作附加到该影片剪辑内的某个按钮上。

on(press) { startDrag(this,true); }on(release) { stopDrag(); } 另请参见stopDrag 1/16. stopDrag可用性Flash Player 4 。

用法stopDrag()参数无。

返回无。

说明动作;停止当前的拖动操作。

示例此语句在用户释放鼠标按钮时停止实例mc 上的拖动动作:on(press) {startDrag("mc"); } on(release) { stopdrag(); } 另请参见startDrag 1/17. updateAfterEvent可用性Flash Player 5 。

用法updateAfterEvent() 参数无。

返回无。

说明动作;当在onClipEvent处理函数中调用它时,或作为传递给setInterval 的函数或方法的一部分进行调用时,该动作更新显示(与为影片设置的每秒帧数无关)。

如果对updateAfterEvent 的调用不在onClipEvent 处理函数中,也不是传递给setInterval 的函数或方法的一部分,则Flash 忽略该调用。

另请参见onClipEvent setInterval 1/12009-12-30 10:39 回复CMischa3位粉丝18楼五. 条件/循环: 条件语句和循环构造(二)1. for可用性Flash Player 5 。

用法for( init; condition; next ) { statement(s); } 参数init 一个在开始循环序列前要计算的表达式,通常为赋值表达式。

此参数还允许使用var 语句。

condition 计算结果为true 或false 的表达式。

在每次循环迭代前计算该条件;当条件的计算结果为false 时退出循环。

next一个在每次循环迭代后要计算的表达式;通常为使用++ (递增)或-- (递减)运算符的赋值表达式。

statement(s)在循环体内要执行的指令。

说明动作;一种循环结构,首先计算init (初始化)表达式一次,只要condition 的计算结果为true,则按照以下顺序开始循环序列,执行statement ,然后计算next 表达式。

一些属性无法用for 或for..in动作进行枚举。

例如,Array 对象的内置方法(Array.sort 和)不包括在Array 对象的枚举中,而影片剪辑属性,如_x 和_y,也不能枚举。

示例下面的示例使用for 在数组中添加元素:for(i=0; i<10; i++) { array [i] = (i +5)*10; trace(array[i]); } 在输出窗口中显示下列结果:50 60 70 80 90 100 110 120 130 140下面是使用for 重复执行同一动作的示例。