论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > Flash教程
Tag:flash cs,flash 8,鼠绘,as,手绘,工具,文字,loading,入门,初学,mc,影片剪辑,声音,mtv,游戏,引导,遮罩,菜单,补间,广告条,时钟,视频教程

实例:制作火花按钮

文章类别:Flash | 发表日期:2008-9-21 20:10:02

  

先看看效果:

/UploadTeach/200712/20071203153055975.swf

下面就让我们来看看这个效果的做法。   

打开工作区后,按下Ctrl+M,把背景色设成黑色。在工作区画一个小的实心圆,并把它转换成按钮符号(Button Symbol),命名为“B-makespark”。然后编辑这个按钮,把在Up帧的实心圆剪切/复制到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。

好了,这个非凡效果到这里就做完了,试一下,效果还不错吧!

视频教程列表
文章教程搜索
 
Flash推荐教程
Flash热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058