火花按钮
孤独过客
飘蓝工作室
下面就让我们来看看这个效果的做法。
打开工作区后,按下Ctrl+M,把背景色设成黑色。在工作区画一个小的实心圆,并把它转换成按钮符号(Button Symbol),命名为“B-makespark”。然后编辑这个按钮,把在Up帧的实心圆剪切/复制到Hit帧,如下图。
编辑后按钮B-makespark的Timeline区
B-makespark的Hit帧的实心圆
现在,新建一个MovieClip,命名为“M-spark”。这个MC只做一帧。在唯一的一帧的中心,用渐变色(Gradient Color)[金黄(Alpha=75)->黑(Alpha=0),辐射渐变]画上一个实心圆。如下图。
下面就得做编程控制了。新建一个MC,命名为“M-controller”。这个MC的所有帧都是空的要害帧。在它的第一帧的Action中写上如右的Action Script代码。然后复制第一帧到第二帧,两帧的内容完全相同,目的是形成一个回路,反复执行这段程序。现在我们来分析一下这段程序。从第一句到第六句都是设定火花在一时刻的位置的;第七第八两句是设定火花在一时刻的大小(缩放比例);第九句是设定火花在一时刻的透明度(Alpha值),最后的If判定句是判定当火花的透明度为0(即不可见)时移除上一层的实体MovieClip(为什么要上一层,下面会提到,这是由实体的结构决定的)。
Set Variable: "zpos" = zpos+../:zspeed
Set Variable: "scale" = (zpos*4+100)/100
Set Variable: "factor" = (zpos/10+100)/100
Set Property ("../spark", X Position) = (../spark:_x+../:xspeed)*factor
Set Variable: "../:yspeed" = ../:yspeed+/:gravity
Set Property ("../spark", Y Position) = (../spark:_y+../:yspeed)*factor
Set Property ("../spark", X Scale) = scale*100
Set Property ("../spark", Y Scale) = scale*100
Set Property ("../spark", Alpha) = ../spark:_alpha-../:fade
If (../spark:_alpha<0)
Remove Movie Clip ("../")
End If
接下来,就要把程序和火花组合起来了。新建一个名为“M-flyspark”的MovieClip。按下Ctrl+L打开符号库(Library),把刚才做的M-spark符号和M-controller符号拖到这个新的M-flyspark的Layer1层的第一帧来,并把M-spark至于符号的中心(十字处)。然后选中M-spark符号,在菜单中选Modify->Instance,定义这个符号的实体名为“spark”。好了这样就把火花和程序组合好了。(M-flyspark符号见下)
现在改回到场景中把所有的MC组合起来了。由于我们要让鼠标左键无论在何处被按下时都有火花的效果出现,所以我们要把按钮做成MC,然后然鼠标拖动这个按钮MC。在场景中选中B-makespark,然后按下F8键,把它创建成一个名为“m-draggie”的MC。定义这个MC的实体名为“draggie”。接着打开符号库,把M-flyspark符号拖到场景中来,定义实体名为“spark”。然后把第一帧的Action按右面的程序编写。最后,编辑m-draggie符号,双击B-makespark符号,把按钮的Action写成左面的样子。在按钮B-makespark的Action中,当按钮按下后,就做一循环,复制出10个小火花,然后设各自的初始值(用Random函数),最后结束循环。
好了,这个非凡效果到这里就做完了,试一下,不错吧。
Set Variable: "gravity" = .98
Set Property ("/spark", Visibility) = false
Start Drag ("/draggie", lockcenter)
场景中第一帧的Action
On (Release)
Set Variable: "temp" = 1
Loop While (temp<=10)
Set Variable: "current" = random(1000)
Duplicate Movie Clip ("/spark", "spark"¤t, current)
Set Property ("/spark"¤t, X Position) = _x
Set Property ("/spark"¤t, Y Position) = _y
Set Variable: "/spark"¤t&":xspeed" = random(6)-2
Set Variable:"/spark"¤t&":yspeed" = random(8)-1
Set Variable: "/spark"¤t&":zspeed" = random(10)-5
Set Variable: "/spark"¤t&":fade" = random(5)+3
Set Variable: "temp" = temp+1
End Loop
End On
符号m-draggie中按钮B-makespark的Action
Word教程网 | Excel教程网 | Dreamweaver教程网 | Fireworks教程网 | PPT教程网 | FLASH教程网 | PS教程网 |
HTML教程网 | DIV CSS教程网 | FLASH AS教程网 | ACCESS教程网 | SQL SERVER教程网 | C语言教程网 | JAVASCRIPT教程网 |
ASP教程网 | ASP.NET教程网 | CorelDraw教程网 |