![]() |
|
| 您目前所在位置: 教程中国 >> 图像处理 >> Flash >> FlashMX经典实例(8) | RSS订阅 |
在编写大段代码时,常因漏写、多写“{}”而导致程序出错并且不容易查找。现在我告诉大家,在if、for等语句中不写“{}”是合法的。正如代码中所示的一样。 5.在主场景中再新建一层,并改名为“按钮”层。在该层中放置一个按钮。双击该按钮,并在其中输入文字“alpha”,如图1-4所示。该按钮的作用是控制实例“mc”的透明度。
图1-4 右键点选“alpha”按钮,打开“动作”面板,然后输入如下代码: //release为按钮释放事件 on (release) { //透明度属性的值减10 mc._alpha -= 10; //实例“mc”完全透明时重置透明值为100 if (mc._alpha <=0) mc._alpha = 100; } 影片剪辑的_alpha属性可以返回影片剪辑透明度或改变。其值的范围在0(完全透明)到100(完全不透明)之间。如果想直接将影片或是按钮实例进行隐藏,可以使用_visible属性,具体的使用方法是“mc._visible = 0;”。但此时的影片剪辑和按钮则同时被禁用。 6.如图1-1所示在主场景的“按钮”层再放置一个“rotation”按钮,其作用是改变实例“mc”的角度值,使影片发生旋转。右键点选“rotation”按钮,打开“动作”面板,键入如下代码: on (release) { //控制实例“mc”向右旋转15度 mc._rotation += 15; } 该段代码所实现的功能就是按钮被单击一次,实例“mc”就以15度为单位改变一次角度。以实现实例向右旋转运动。 7.在主场景的“按钮”层再放置一个“width”按钮,其作用是改变实例“mc”的宽度和高度属性值的。右键点选“rotation”按钮,打开“动作”面板,键入如下代码: on (release) { //在水平和垂直方向上按一定比例进行缩放实例 mc._xscale = mc._yscale *= 0.6; if (mc._width<10) mc._width = mc._height = 100; } 代码中的_xscale、_yscale属性的作用是使实例“mc”在水平和垂直的方向上按一定比例进行缩放。代码中的数字“0.6”就是让实例按照60%的比例缩小。 8.在主场景的“按钮”层再放置一个“name”按钮。属性_name的作用是返回由实例的名称。右键点选“name”按钮,打开“动作”面板,键入如下代码: on (release) { if (i<4) i++; //复制实例“mc” duplicateMovieClip("mc", "mc" add i, i); this["mc" add i]._x -=i*60; this[mc._name add i]._y += i*50; } 其实,[mc._name add i, i];同语句["mc", "mc" add i, i];”的作用是一样的。从中我们也可以看出_name属性的作用。 9.如图1-1所示在主场景的“按钮”层再放置一个“visible”按钮,其作用是隐藏/显示实例“mc”。右键点选“visible”按钮,打开“动作”面板,键入如下代码: on (release) { mc._visible -= 1; } 属性_visible的左右前面我们已经介绍过。只是这段代码很巧妙。它使得按钮每被单击一下,按钮的状态都不用,即隐藏和显示实例。 10.最后再添加一个“reset”(重置)按钮。如图1-1所示。该按钮的功能是使影片恢复到初始状态。右键点选“reset”按钮,打开“动作”面板,键入如下代码:
|
on (release) {
//删除被复制出的实例
for(n=1;n<=3;++n) removeMovieClip("mc" add n);
//重置实例“mc”的其它属性
mc._alpha =100;
mc._rotation = 0;
mc._width = 30;
mc._height = 60;
mc._visible = 1;
i = 0;
//使实例“mc”回到起始状态时的位置
mc._x = X;
mc._Y = Y;
}
当“reset”按钮被单击后,代码中影片的透明度,宽度等属性就会被重置到初始的状态。动作removeMovieClip()将删除被复制出的实例。
右键单击场景中的第1帧,然后在“动作”面板中键入如下代码,则上面代码中使实例“mc”回到起始状态的代码就可以工作了。
X = mc._x;
Y = mc._y;
几乎所有的电影属性都是很有用处的。下面我们再简单的讲解一下其它重要属性的作用和使用方法。
属性_currentframe是一个只读属性,其功能是返回影片当前正在播放影帧的帧数。该属性可以用来实现影片的前进和后退效果。如:
on(release) {
car.gotoAndStop(_currentframe + 5);
}
属性_framesloaded的作用是纪录载入影片的帧数。它对监视大影片的下载过程很有用。可以用来控制影片正在下载,直到下载结束的显示。属性_totalframes返回影片剪辑实例中的总帧数。下面的代码的作用是在所有帧都已加载后开始播放影片。如未加载完所有帧,则显示用_xscale属性来控制长度的loading进度条。
if (_framesloaded >= _totalframes) {
gotoAndPlay ("scene 1", "start");
} else {
_root.loader._xscale = (_framesloaded/_totalframes) * 100);
}
属性_target的作用是返回指定影片剪辑实例的目标路径。如代码:
on (release) {
n = mouse._target;
trace(n);
}
属性_url也是一个只读属性,其作用是获取下载影片剪辑的SWF文件的URL。如:
on (release) {
path = swf._url;
trace (path);
}
属性_focusrect指定当影片剪辑具有键盘焦点时其周围是否有黄色矩形。使用方法为“mybutton._focusrect = true;”。
属性_quality是个全局属性,改变它就会改变整个动画的设置。该属性用来控制影片的播放品质。其属性可设置的参数有LOW(播放品质最差);MEDIUM(中等品质);HIGH(高品质);BEST(极高品质)。其中HIGH是默认的品质。
on (release) {
_quality = "HIGH";
}
属性_droptarget始终返回以斜杠 (/) 开始的路径。使用 eval 函数可以将返回值从斜杠语法转换为点语法表示的引用。
下面的例子是判断影片实体garbage被放置的位置是不是和场景中的实体trash一致,如果是,则隐藏影片实体garbage,否则将影片实体garbage的X(Y)轴坐标值用变量x_pos的值来赋值。
if (eval(garbage._droptarget) == _root.trash) {
garbage._visible = false;
} else {
garbage._x = x_pos;
garbage._y = y_pos;
}
}
变量x_pos和y_pos在影片的第一帧上设置:
x_pos = garbage._x;
y_pos = garbage._y;
属性_droptarget是一个比较有用的,在拼图、走格子、下棋等游戏中是要用到该属性的,以上的代码也是游戏中最简单的触发技术。
来源:十度教育
作者:
关键字:
发表日期:2006-10-19 8:52:51
上一篇:FlashMX经典实例(7) 下一篇:让Flash按钮张嘴出出声
| 本文的相类似文章 |
| 在学习中进步 在进步中成长 教程中国相随您的成长之路 |
| 华腾联合科技股份有限公司版权所有 广告联系:Rosibo@163.com |