Flash常用mc属性控制(1)
来源:中国艺术设计联盟作者:chila_blus发布时间:2005-01-02
  Flash中有图形、按钮和影片剪辑这三种类型的元件,电影属性就是影片剪辑所拥有的属性,如_alpha属性、_x属性等,我们在很多的实例文章中都已接触过这些属。

  用这些电影属性可以设计出许多眩目的效果,但可能很多读者还没有真正的熟悉它。熟练地掌握和使用这些电影属性,不但可以提高自己的Flash的编程能力,假以时日,你的Flash水平定可"更上一层楼"。

  今天我们就来总结一下Flash的属性控制应用。

  效果预览:


图 1

  效果简介:

  这是一个使用电影属性来完成的综合效果。笔者想通过这个具体实例给大家讲解影片剪辑属性的作用及其使用方法。

  在文章讲解前,大家应该先知道这个概念——从库中拖拽到场景中的元件就是一个实例。只有影片剪辑、按钮实例能使用电影属性。文章中将学到使用常用电影属性实现的一些效果。

  制作步骤:

  设置场景的大小为480px×360px,背景色为#893300,帧频为12fps。

  1.把主场景中的"图层 1"改名为"图片"层,然后导入一张图片,笔者使用的一个滑梯图片,其大小是(60px,30px)。

  2.鼠标左键选中滑梯图片,按F8键,在弹出的"创建新元件"面板中把该图片转换成"滑梯"影片剪辑元件。接着在其编辑场景的"属性"面板如图 2所示进行设置,即让滑梯以场景的左角定点在场景的中心,如图 3所示,这在需要给影片剪辑严格定位的编程中经常使用。

图 2

图 3

  3.回到主场景。选中"滑梯"元件,然后在"属性"面板中给该元件起个实例名"mc"

  4.下面我们先来编写一段程序让读者可以通过方向键来自由控制实例"mc"的运动

  右键点选实例"mc",在弹出的菜单中选择"动作"命令,然后在打开的"动作"面板中键入如下代码(专家模式下):

  帧被载入时执行
  onClipEvent (enterFrame) {
    如果敲击左方向键,实例"mc"左移15px
    if (Key.isDown(Key.LEFT)) _x -= 15;
    不让实例"mc"跑到按钮区里
    if (_x<=100) _x = 100;
    如果敲击右方向键,实例"mc"右移15px
    if (Key.isDown(Key.RIGHT)) _x += 15;
    不让实例"mc"从场景右面外跑出去
    if (_x>=480-_width) _x = 480-_width;
    如果敲击上方向键,实例"mc"上移20px
    if (Key.isDown(Key.UP)) _y -= 20;
    不让实例"mc"从场景上面外跑出去
    if (_y<=0) _y = 0;
    如果敲击下方向键,实例"mc"下移20px
    if (Key.isDown(Key.DOWN)) _y += 20;
    不让实例"mc"从场景下面外跑出去
    if (_y>=360-_height) _y = 360-_height;
  }

  在代码中,使用到了_x、_y、_width、_height这四个电影属性了。_x属性,_y属性的作用就是设置影片剪辑在场景中X,Y轴的坐标值;从名字就可以看出来,_width属性,_height属性的作用是影片剪辑的宽度和高度属性。与_x、_y属性相似的_xmouse、_ymouse属性则可以返回鼠标当前的坐标值。

  现在读者可以单击小键盘上的方向键让影片进行运动了。如果你敲击"←"键,则实例"mc"的X轴坐标值就会减去15个像素单位,即向做移动15个像素。代码"if (_y<=0) _y = 0;"的作用是先判断实例是否在场景外,如果在则把实例的坐标重置为"0",以确保实例不出界。

  在编写大段代码时,常因漏写、多写"{}"而导致程序出错并且不容易查找。现在我告诉大家,在if、for等语句中不写"{}"是合法的。正如代码中所示的一样。


本篇编辑:chila_blus