鬼泣同人漫画:Flash函数大全之七. 其他动作

来源:百度文库 编辑:九乡新闻网 时间:2024/05/01 19:59:22
七. 其他动作 : 其他动作
1. #endinitclip
可用性 Flash Player 6 。用法 #endinitclip 参数无。返回无。说明动作;指示组件初始化动作块的结尾。示例
#initclip ...component initialization actions go here... #endinitclip 另请参见
#initclip
2. #include
可用性暂缺用法 #include " filename.as " 参数 filename.as 要添加到“动作”面板的脚本的文件名; .as
是推荐使用的文件扩展名。返回无。说明动作;包括当测试、发布或导出影片时参数中指定的文件的内容。当您进行测试、发布或导出时, #include
动作将被调用。当执行语法检查时,将检查 #include 动作。
3. #initclip
可用性 Flash Player 6 。用法 #initclip order 参数 order 一个整数,指定 #initclip
代码块的执行顺序。这是一个可选参数。说明动作;指示组件初始化动作块的开始。当同时初始化多个剪辑时,您可以使用 order
参数来指定先执行哪个初始化动作。在定义影片剪辑元件时,执行组件初始化动作。如果影片剪辑是导出的元件,则组件初始化动作将在执行
文件第一帧上的动作之前执行。否则,组件初始化动作将在一特定帧(该帧包含关联影片剪辑元件的第一个实例)的帧动作脚本之前立即执行。组件初始化动作在影片播放过程中仅执行一次,您应将这些动作用于一次性的初始化动作,例如类定义和注册。示例下面的示例代码分配给一个影片的第一帧,该影片为复选框组件。
#initclip 和 #endinitclip 动作将它们所包含的语句块指定为组件初始化动作。这些所包含的语句注册类,并将方法存储在原型对象中。
#initclip if (typeof(CheckBox) == "undefined") { // Define constructor for
(and thus define) CheckBox class function CheckBox() { // Set up our data
bindings this.watch (\'value\', function (id, oldval, newval) { ... };
this.watch (\'label\', function (id, oldval, newval) { ... }; } // Set
CheckBox prototype chain to inherit from MovieClip CheckBox.prototype =
new MovieClip(); // Register CheckBox as the class for symbol "Check Box"
Object.registerClass("Check Box", CheckBox); // Set up some methods
CheckBox.prototype.enable = function () { ... }; CheckBox.prototype.show =
function () { ... }; CheckBox.prototype.hide = function () { ... }; // Set
up a convenience function to instantiate // check boxes CheckBox.create =
function (parentMovieClip, instanceName, depth) {
parentMovieClip.attachMovie("CheckBox", instanceName, depth); }; }
#endinitclip 如果您拷贝此代码并将其粘贴到“动作”面板中,则在编译该脚本时,它将因为未定义的函数 ( {...} ) 而产生错误另请参见
#endinitclip
4. clearInterval
可用性 Flash Player 6 。用法 clearInterval( intervalID ) 参数 intervalID 调用
setInterval 函数后返回的对象。返回无。说明动作;清除对 setInterval
函数的调用。示例下面的示例首先设置一个间隔调用,然后将其清除: function callback() { trace("interval
called"); } var intervalID; intervalID = setInterval( callback, 1000 ); //
sometime later clearInterval( intervalID ); 另请参见 setInterval
// (注释分隔符)可用性 Flash 1 。用法 // comment 参数 comment
任何字符。返回无。说明注释;指示脚本注释的开始。任何出现在注释分隔符 //
和行结束符之间的字符都被动作脚本解释程序解释为注释并忽略。示例此脚本使用注释分隔符将第一、第三、第五和第七行标识为注释。 // record the
X position of the ball movie clip ballX = ball._x; // record the Y
position of the ball movie clip ballY = ball._y; // record the X position
of the bat movie clip batX = bat._x; // record the Y position of the bat
movie clip batY = bat._y; /* (注释分隔符)可用性 Flash Player 5 。用法 /* comment */
/* comment comment */ 参数 comment 任何字符。返回无。说明 注释;指示一行或多行脚本注释。任何出现在注释开始标签 /*
和注释结束标签 */
之间的字符都被动作脚本解释程序解释为注释并忽略。第一种语法类型用于标识单行注释。第二种语法类型用于标识连续多行注释。在使用注释分隔符的这种格式时,不使用结束标签
*/ 会返回一个错误信息。示例此脚本在脚本的开头使用注释分隔符。 /* records the X and Y positions of the
ball and bat movie clips */ ballX = ball._x; ballY = ball._y; batX =
bat._x; batY = bat._y; 另请参见 // (注释分隔符)
5. setInterval
可用性 Flash Player 6 。用法 setInterval( function , interval [, arg1 , arg2 ,
..., argn ] ) setInterval( object , methodName , interval [, arg1 , arg2 ,
..., argn ] ) 参数 function 一个函数名或者一个对匿名函数的引用。 object 从 Object 对象派生的对象。
methodName 要对 object 参数调用的方法的名称。 interval 对 function 或 methodName
参数的两次调用之间的时间,以毫秒为单位。 arg1 、 arg2 ... argn 可选参数,将传递给 function 或 methodName
参数。返回间隔标识符,可以将该标识符传递给 clearInterval
以取消该间隔。说明动作;在播放影片时,每隔一定的时间间隔,就调用函数、方法或对象。可以使用间隔函数更新来自数据库的变量或更新时间显示。如果
interval 小于影片帧频(例如,每秒 10 帧 (10 fps) 相当于 100 毫秒),则按照尽可能接近 interval
的时间间隔调用间隔函数。而且必须使用 updateAfterEvent 函数来确保以足够的频率刷新屏幕。如果 interval
大于影片帧频,则只有在每次播放头进入帧时才调用该间隔函数,以便最小化每次刷新屏幕时的影响。上述的第一种语法示例是标准模式下“动作”面板中
setInterval 函数的默认语法。若要使用第二种语法示例,必须在专家模式下使用“动作”面板。示例用法 1 :下面的示例每隔 1000
毫秒(每隔 1 秒)调用一次匿名函数。 setInterval( function(){ trace("interval called"); },
1000 ); 用法 2 :下面的示例定义两个回调函数并分别调用它们。对 setInterval 函数的两次调用的结果都是每隔 1000
毫秒就向输出窗口发送字符串。对 setInterval 的第一个调用将调用 callback1 函数,该函数包含 trace 动作。对
setInterval 的第二个调用将字符串作为参数传递给函数 callback2 。 function callback1() {
trace("interval called"); } function callback2(arg) { trace(arg); }
setInterval( callback1, 1000 ); setInterval( callback2, 1000, "interval
called" ); 用法 3 :此示例使用对象的方法。当要调用为对象定义的方法时,必须使用此语法。只能在专家模式下使用此语法。 obj = new
Object(); obj.interval = function() { trace("interval function called"); }
setInterval( obj, "interval", 1000 ); obj2 = new Object(); obj2.interval =
function(s) { trace(s); } setInterval( obj2, "interval", 1000, "interval
function called" ); 必须使用第二种格式的 setInterval 语法来调用对象的方法,如下所示: setInterval(
obj2, "interval", 1000, "interval function called" ); 另请参见 clearInterval
updateAfterEvent
6. trace
可用性 Flash Player 4 。用法 trace( expression ) 参数 expression 要计算的表达式。当在 Flash
创作工具中使用“测试影片”命令打开 文件时, expression 参数的值显示在输出窗口中。返回无。说明动作;在测试模式下,计算
expression 并在输出窗口中显示结果。在测试影片时,使用 trace 在输出窗口中记录编程注释或显示消息。使用 expression
参数检查是否存在某种条件,或是在输出窗口中显示值。 trace 动作类似于 JavaScript 中的 alert 函数。可以使用“发布设置”中的
Omit Trace (省略 Trace )动作命令从导出的 文件中删除 trace 动作。示例此示例来自一个游戏,在该游戏中名为 rabbi
的可拖动影片剪辑实例必须在特定目标上释放。使用一个条件语句计算 _droptarget 属性并根据 rabbi
的释放位置执行不同的动作。在脚本的末尾使用 trace 动作计算 rabbi 影片剪辑的位置,并在输出窗口中显示结果。如果 rabbi
的行为与预期的不一样(例如,如果它靠近错误的目标),则由 trace 动作发送到输出窗口的值将帮助您确定脚本中的问题。 on(press) {
rabbi.startDrag(); } on(release) { if(eval(_droptarget) != target) {
rabbi._x = rabbi_x; rabbi._y = rabbi_y; } else { rabbi_x = rabbi._x;
rabbi_y = rabbi._y; target = "_root.pasture"; } trace("rabbi_y = " +
rabbi_y); trace("rabbi_x = " + rabbi_x); stopDrag(); }