快速业务通道

Flash实例制作:彩纸文字贺新年

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-15

春节即将到来,我们的Flash里自然也要充满喜庆的气氛,下面我们就来学习一种非常喜庆的文字特效的制作方法。

  我们先看看效果实例。

  文字就象一个容器,其中充满了节日欢乐的彩纸碎片,随机漂浮变化,用来渲染喜庆的气氛再合适不过了。

  实现原理

  利用duplicateMovieClip复制movieclip,用setProperty与random函数所取的随机数决定复制出的movieclip的位置。利用new Color,setRGB与random函数来随机决定复制出的movieclip的颜色。最后利用mask遮照完成动画。
  本例重点语法:

  相关函数:random(),new color(),setRGB(),duplicatemovieclip,setProperty,文章最后给出它们的详细语法和用法参考以及源文件下载学习。
  本例完成步骤:

  一、基本元件的建立:

  建立文字元件“Happy New Year”,设置为黄色,命名为“text”,再新建symbol命名为“feng”,用pencil tool随意绘制一个无规则的几何形状(如图2),在第25,50帧建立关键帧,并改变这两帧上的几何图形的大小与位置,用arrow工具改变其形状,最后从第1帧到25帧,第25帧到50帧建立shape动画。

?  二、as控制部分

  新建symbol,命名为“feng movie”,将“feng”拖拽到scene 1,命名为“xx”在第2帧新建关键帧,双击此帧,输入如下actions:

  while (i<500) {
    duplicateMovieClip ("xx", "xx" add i, i); 
//复制名字为xx的mc
    setProperty ("xx" add i, _xscale, random (80));
    setProperty ("xx" add i, _yscale, random (80));
//设置复制出的mc的变形,用random设置其变形值在0到80之间
    setProperty ("xx" add i, _x, random ( 130));
    setProperty ("xx" add i, _y, 5+random ( 40));
//设置复制出的mc的位置
    col = Random(0xafafaf)+0x999999;
    xzcol = new Color("xx" add i);
    xzcol.setRGB( col ); 
//使复制出的mc有随机的颜色
    i = i+1;
  }

  //当i>500时,停止复制mc,也就是说将名字为xx的mc复制了500个,并且每一个都拥有随机的颜色、大小、位置。
  stop ();
  在library中双击feng元件,开始对其进行编辑,双击其第50帧,输入如下as:
  gotoAndPlay (random ( 40));
  //当此mc播放一次后,会随机的从第1帧到第40帧之间的任意一帧开始播放。   三、最后组装

  回到scene1,将“text”元件拖拽到layer 1,再新建两层,分别拖拽“feng movie"与“text”到layer2,layer3。注意将layer 1中的文字与layer3中的文字对齐,右键单击layer3, 选择mask。好!到此为止,我们完成了文字特效的制作,你可以预览一下效果,再进行一些细致的调整。


  四、重点说明

  大家可以发现,本例中所用到的都是最基本的as命令,但是效果却非常的好,因此要提醒大家,并不是要深奥的技术才能做出漂亮的效果,重要的是你的思维方法,你的创造力,你应用技术的能力。在本例中重点不在于如何作出随机的彩色碎片,而在于利用文字对as效果遮照而产生的精彩画面。希望大家能好好掌握。

  附:相关函数语法说明:

  random()函数
   random在actionscrip中是一个应用相当广的函数,它的作用是获取0到指定整数之间的任意整数。利用它,我们可以解决随机显示,随机移动等一系列的效果。是复杂动画的基础,对random函数的灵活应用,是我们解决很多实际问题,创造奇妙效果的前提。 我们来看看它的语法:
  random(value);
  参数
  value:所生成随机整数的上限
  实例
  random(4)所返回值可能为0,1,2,3
  new color()函数
   new color()是一个面向对象color的函数,在使用color对象前必需使用构造器new color()来创建一个color对象实例。new color()的语法:
  new color(target)
  参数
  target是使用这个颜色方案的电影剪辑   setRGB()函数
  setRGB()也是一个面向对象color的函数,它可以为一个颜色对象指定一个RGB值。语法:
  xxx.setRGB(0xRRGGBB)
  参数
  0xRRGGBB设置一个16进制的RGB值,RR,GG,BB各为16进制数,用来指定颜色。
  实例
  xxx.setRGB(0x006699)   duplicatemovieclip
  
当动画正在播放是复制一个movie clip。复制出的moveclip与被复制的movieclip完全一样,并从第一帧开始播放。
  语法:
  duplicatemovieclip(target,newname,depth)
  参数
  target:要复制的movieclip的路径与名称
  newname:复制出的movieclip唯一的名称
  depth:景深   setProperty,在movieclip播放时设置其属性。语法:
  setProperty(target,property,expression)
  参数
  target:要设置属性值的movieclip的路径与名称
  property:待设置的属性
  expression:待设置的属性值
  实例
  setProperty("xxx",_x,100)
  将xxx的x座标设为100   本例源代码下载:
关键词:新年

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号