|
Flash5制作实例-画魔四影
(04/29/2000) |
|
FLASH5自推出以来,其ACTION增加了很多,也实现了面向对象编程,这里,我们简单用例子说明它的数组对象的应用。 制作步骤: (1)新建一个FLASH5文件; (2) 按组合键CTRL+M修改影片属性,WITDH为600,HEIGHT为350,BACKGROUND为黑色; (3)用“TOOLS”工具箱的“RECTANGLE TOOL”和“ARROW”做4对“眼睛”,并按F8把它们转换成“BUTTON”,名称分别为1,2,3,4。(如图1)
(图1) (4)按组合键CTRL+F8新建一个MOVIECLIP,命名为“TEXTOBJECT”,用“RECTANGLE TOOL”在场景中间画一个红色长方形,按F8转换成MOVIECLIP名称为“MASK”;按CTRL+I引出实例名称为“MASK”; (5)新建一个层置于红色长方形所在层下方,接着用“TEXTTOOL”做一个“DYNAMICTEXT”(图2)的文本框,VIARABLE变量名称为NAME,字体选择黑体,颜色选择黑色。(TEXTOBJECT如图3)
(图2)
(图3) (6) 按CTRL+E回到主场景,把“TEXTOBJECT”从用户库中拖放到界面下方,CTRL+I设定引出实例名称TO,选定它,按“CTRL+ALT+A”打开ACTION面板,并输入ACTION: onClipEvent (load) { this.name = "请移动鼠标到他们的头像上..."; this.mask._alpha = 100; lock = true; } onClipEvent (enterFrame) { if (not lock) { if (i<=60) { this.mask._alpha = i; i+=5; } } else { lock = true; i=0; } } 当读取的时候,有3个初始化变量,NAME是显示文本的文本框变量,ALPHA是让TO下的MASK的ALPHA属性为最大,LOCK锁定变量为真,这表示不可以做下面的渐变循环,当每次进入这个帧,会检查LOCK变量的值,如果不是锁定状态,那么就让MASK的ALPHA属性按递增5的顺序增加,增加到60结束,然后恢复LOCK属性,并且让循环变量I请零,以待下次使用。 其实,这段ACTION也算是一个过程,供调用也可以,但这么做的好处就是可以及时相应用户事件。 (7) 在主场景第一帧按F6插入关键帧,双击当前帧输入ACTION: namelist=new Array(); namelist=["笔惠","墨宝","纸鹰","砚而"]; 这段语句创造了一个ARRAY数组对象NAMELIST,并且初始化4个数组变量,下标为0,1,2,3。 (8)依次选定MOVIE CLIP“1”、“2”、“3”、“4”按组合键“CTRL+ALT+A”输入ACTION: 1: on (rollOver) { if (_root.to.lock) { _root.to.name = "大家好,我的名字是"add namelist[0] add ",请多关照。"; _root.to.lock = false; } } on (rollOut) { _root.to.name = "请移动鼠标到他们的头像上..."; _root.to.lock = true; } 2: on (rollOver) { if (_root.to.lock) { _root.to.name = namelist[1] add "就是我..."; _root.to.lock = false; } } on (rollOut) { _root.to.name = "请移动鼠标到他们的头像上..."; _root.to.lock = true; } 3: on (rollOver) { if (_root.to.lock) { _root.to.name = "画魔大人的影子——" add namelist[2]; _root.to.lock = false; } } on (rollOut) { _root.to.name = "请移动鼠标到他们的头像上..."; _root.to.lock = true; } 4: on (rollOver) { if (_root.to.lock) { _root.to.name = namelist[3] add ",知道我的名字的人都得死!"; _root.to.lock = false; } } on (rollOut) { _root.to.name = "请移动鼠标到他们的头像上..."; _root.to.lock = true; } 每当鼠标移动到它们的上方并且TO下的LOCK为真的时候就会激活ACTION,通过访问ARRAY对象的内容而得到它们的名字,并用NAME文本框显示出来,而当从上方移开的时候就会恢复文本框内容并且让LOCK锁定,最后请注意,数组下标访问值得注意的是一定要从“0”下标开始。
|