范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

怎能制作质感的水晶泡泡动画?

  今天教大家利用Flash CS4制作质感的水晶泡泡动画,并通过编写get 和 set 存取器函数,为创建的元件类提供易于使用的编程接口,使得元件类的属性在可以被访问的基础上进行良好的隐藏和封装。本例还配合使用三角函数知识创建丰富特效,通过本例的制作,读者可以掌握如何为元件类提供易于使用的编程接口,以及加深对三角函数知识的理解应用。
  本例思路:
  <1> 创建实例背景。
  <2> 绘制类似水泡的图形,并转换为元件类。
  <3> 编写元件类扩展类。
  <4> 创建文档类。
  实例步骤:
  (1)新建一个空白文档,舞台大小设置为400*300,帧频设置为30,将舞台背景颜色设置为 #618D0E ,绘制一个直径为舞台高度大小的正圆,并填充放射状渐变色,调整高光位置在下方,如下图10-1所示。
  其填充放射状渐变色值为:#A7E600 - #078914 - #00552F 。调整色柄值,参数依次为:
  色柄一:红: 167,绿:230,蓝: 0 Alpha: 100%
  色柄二:红: 7,绿:137,蓝: 20 Alpha: 100%
  色柄三:红: 0,绿:85,蓝: 47 Alpha: 100%
  图10-1 绘制背景
  (2)创建一个新图层,命名为“高光”。绘制一个半径与步骤(1)中的圆形略小的同心圆形,并填充线性渐变色,使用“渐变变形工具”进行调整高光位置由上至下分布,如图10-2 所示。
  其填充线性渐变色值为:#FFFFFF - #FFFFFF 。调整色柄值,参数依次为:
  色柄一:红: 255,绿:255,蓝: 255 Alpha: 0%
  色柄二:红: 255,绿:255,蓝: 255 Alpha: 100%
  图10- 2 高光部分
  (3)再创建一个新图层,命名为“顶部高光” 。使用“椭圆工具”在顶部绘制一个椭圆,填充线性渐变色,高光位置同上一样分布,如图10- 3所示。
  其填充线性渐变色值为:#FFFFFF - #FFFFFF 。调整色柄值,参数依次为:
  色柄一:红: 255,绿:255,蓝: 255 Alpha: 0%
  色柄二:红: 255,绿:255,蓝: 255 Alpha: 68%
  图10-3 顶部高光
  (4)新建一个影片剪辑,命名为“Ball_mc” 。绘制类似小水泡的图形,这里我们绘制一个放射状渐变的圆形,大小约在20左右,如图10-4所示。
  其填充放射状渐变色值为:#FFFFFF - #FFFFFF - #FFFFFF 。调整色柄值,参数依次为:
  色柄一:红: 255,绿:255,蓝: 255 Alpha: 36%
  色柄二:红: 255,绿:255,蓝: 255 Alpha: 9%
  色柄二:红: 255,绿:255,蓝: 255 Alpha: 0%
  图10-4绘制类似水泡图形
  (5)为影片剪辑“Ball_mc”添加元件类,如图10-5所示。
  图10-5 添加元件类
  (6)下面是元件类扩展类。该类有三个私有属性,如第11到13行代码所示,我们在第22、第25行代码分别定义其属性对应的get()方法,为该元件类实例提供可访问对应属性的接口,第三个属性还提供set()方法,如第29行代码所示。在该类构造函数中还初始化了三个属性,分别产生随机的newX、newY值,如第17到19行代码所示。
  AS3代码:
  复制代码
  代码如下:
  **
  * 该类为扩展元件类
  * @author lbynet
  * @version 0.1
  */
  package {
  import flash.display.Sprite;
  public class Ball_mc extends Sprite {
  private var newX:Number;
  private var newY:Number;
  private var W:Number;
  public function Ball_mc() {
  this.newX = 1 + Math.random()*100; //x轴上的随机速度
  this.newY = 1 + Math.random()*20; //y轴上的随机速度
  this.W = 0;//用于改变 x轴上的随机速度 值
  }
  public function get _newX():Number{
  return this.newX;
  }
  public function get _newY():Number{
  return this.newY;
  }
  public function set _W(i:Number){
  this.W = i;
  }
  public function get _W():Number{
  return this.W;
  }
  }
  }
  (7) 下面的Main类是本实例的文档类,该类定义了三个属性,分别是存储水泡总数、数量累加变量和随机宽、高比例值, 第12到14行代码所示。在构造函数中调用init()方法进行初始化两个属性值,并注册ENTER_FRAME 事件侦听器,如第20到22行代码所示。
  /
  复制代码
  代码如下:
  **
  * 该类为主程序类
  * @author lbynet
  * @version 0.1
  */
  package {
  import flash.display.Sprite;
  import flash.events.Event;
  public class Main extends Sprite {
  private var totalNum:uint;
  private var i:uint;
  private var dim:Number;
  public function Main() {
  init();
  }
  private function init() {
  this.totalNum = 70;
  this.i = 0;
  stage.addEventListener(Event.ENTER_FRAME, enterFrameHandler);
  }
  (8)下面是两个侦听器函数,enterFrameHandler是前面注册的侦听器对应的函数,该函数创建了totalNum+1个Ball_mc实例,并实例的y坐标值统一设置在舞台高度之外,如第29到31行代码所示。接着我们在第33行代码中随机生成一个0到1之间的随机小数,并与生成的Ball_mc实例对应的宽、高进行相乘得到随机的宽、高值,如第33到35行代码所示。If()语句的最后将Ball_mc实例添加到显示列表并注册ENTER_FRAME 事件侦听器,和进行i值的累加,如第37到39行代码所示。
  AS3代码
  复制代码
  代码如下:
  private function enterFrameHandler(event:Event) {
  var _mc:Sprite;
  if (this.i <= totalNum) {
  _mc = new Ball_mc();
  _mc.y = stage.stageHeight;
  this.dim = Math.random();
  _mc.width *= dim;
  _mc.height *= dim;
  addChild(_mc);
  _mc.addEventListener(Event.ENTER_FRAME, removeEnterFrameHandler);
  this.i++;
  }
  }
  private function removeEnterFrameHandler(event:Event) {
  var _mc:* = event.target as Sprite;
  _mc._W += .1;
  _mc.x = Math.sin(_mc._W)*_mc._newX + stage.stageWidth/2;
  _mc.y -= _mc._newY;
  if (_mc.y <= 0) {
  _mc.removeEventListener(Event.ENTER_FRAME, removeEnterFrameHandler);
  removeChild(_mc);
  this.i--; //使得i的值小于totalNum,从而重新创建water_mc
  (9)removeEnterFrameHandler是生成的每个Ball_mc实例对应的侦听器函数,在该函数中,我们对Ball_mc实例的W属性进行累加,并设置其X、Y坐标值,如上图中第45到48行代码所示,其中X坐标值被设置为舞台中间大小 + 对应Ball_mc实例的newX属性值 * 其W属性的正弦值,如上图中第47行代码所示,从而使对应Ball_mc实例在舞台中间的左右来回作运动,而在Y轴方向上赋予其newY值,使其产生Y轴方向上的递减(也就是Ball_mc实例向上运动),如上图中第48行代码所示,最终产生盘旋上升效果,如本例效果图所示。下图所示是本例所使用的三角函数简单原理图。
  图10-6 三角函数原理
  (10) 当Ball_mc实例运动致舞台上方外,便清除该实例注册的ENTER_FRAME 事件侦听器和该该实例,并进行i值的递减,如步骤(7)第50到55行代码所示。我们还可以扩展思路,创作更多效果,如下图所示的小球从向而上运动,作类似喷泉效果。还可以做各种类似冒泡效果
  图10-7 扩展实例
  教程已完毕,希望对大家都有一定的帮助。

iPhone5s怎么升级4GiPhone5s升级4G方法在4G网络覆盖的范围已经越来越广了。随着4G网络的日渐普及,想必大家想要使用4G网络的心情越来越迫切了,但是就目前而言4G网络还没发做到全面覆盖,但是针对大家的需要小编今天来和大家荣耀新款手机哪款好荣耀新款手机报价大全华为荣耀系列的产品有很多,这个系列的产品是华为目前最成功的子品牌,不仅更新速度很快,而且每款产品都比上一款产品有所改进,华为荣耀的产品种类很多,有高端的商务机,也有不足千元的高性能什么手机玩王者荣耀好哪款手机玩王者荣耀不卡详解随着现在智能手机层出不穷的发布,很多朋友在选择手机的时候都会有点小纠结,特别对喜欢玩王者荣耀的朋友来说,有的就在问玩王者荣耀什么手机好?哪款手机玩王者荣耀不卡?针对这个问题,今天小热门android智能手机报价大全图文如今安卓智能手机几乎占据大半个手机行业,更新换代的速度也是非常的快。在这个月又有几款安卓智能手机新品发布了,在如此众多的安卓手机中,虽说给了消费者多种选择,但是同样使人感觉眼花缭乱智能手机多少钱智能手机报价大全推荐手机的用处越来越多了,几乎成为了现代用户随身携带的必须品,用户的增加必然导致市场竞争的激烈,很多商家都看到了这一商机,转型做手机产品,目前市场上智能手机非常的多,不仅在性能上各有千volte手机有哪些最热门产品报价大全图文Volte是现在最流行的手机功能,随着手机的性能越来越好,人们对语音功能的要求也越来越高,从传统的清晰到现在的逼真,语音功能一直是各大手机品牌最甘心的问题,volte就是在这样的环小米MIUI9分屏功能怎么用小米MIUI9分屏功能介绍详解作为小米推出的最新操作系统小米MIUI9,在发布之后,不少朋友对于它的功能也是好奇。有朋友就在问小米MIUI9分屏功能怎么用呢?下面,想了解的朋友就跟小编一起来看看吧!那么这个系统小米miui9体验如何小米miui9内测资格如何申请详解7月26日,小米推出了miui9和小米5x,小米称,MIUI9应用启动速度更快,对触屏反馈和线程调度进行了优化,目前官方已经可以报名体验内测的miui9了,下面是小米miui9体验小米MIUI9功能有哪些小米MIUI9功能介绍大家都知道小米MIUI8是小米手机推出的系统。现在,期待已久的小米MIUI9终于也到来了,很多朋友对于这次发布的小米MIUI9有哪些功能,还不是很熟悉。今天,小编给大家带来小米MIiQOO9Pro怎么分屏有几种分屏方式iQOO9Pro可是一款性能强悍的手机哦,绝对是可以为我们带来最为舒适的游戏体验哦,那么在这款手机中我们又是需要如何来设置分屏操作呢?现在就有小编来为大家介绍一下吧。一iQOO9Piqoo9怎么分屏分屏功能在哪设置现在的手机为了方便用户的操作,设置了许许多多的小功能,比如分屏功能,让我们可以同时进行两项任务,快捷又方便,今天小编就为大家介绍一下如何在iqoo9这款手机上设置分屏功能!分屏功能
iQOONeo5屏幕怎么样是2K屏吗iQOONeo5在性能方面搭载强悍双芯,高通骁龙870独立显示芯片,那么,屏幕方面怎么样呢,支持2K吗,一起来看看吧屏幕方面采用6。62英寸AMOLED直面屏,主屏分辨率2400x华硕k40ie怎么样华硕k40ie测评介绍现在随着科技的越来越发达,越来越多科技产品轮番的面世我们的生活发生了很大的变化。说到这些科技产物对于人类的生活工作影响最大的应该就是电脑的面世了。现在市场上电脑品牌型号众多,这使得触控有哪些产品触控产品大全详解触控产品在我们生活中十分常见,如触控手机银行大厅的触控一体机触控笔记本电脑触控电脑等等。根据触控产品的不同,其报价有高有低。那么,触控产品的价格到底是多少呢?在本文中,将为大家简要如何查看自己的ip地址?ip地址查看方法图文步骤现在ip地址分为两种分别是内网和外网两种ip地址,如果你家里没有路由器的话那就没有内网ip地址,一般内网和外网ip地址都有的情况对出现在学校或者工作单位,想要查看自己ip地址的朋友怎样查看自己的ip地址我们每个人的电脑都会有一个对应的ip地址,但是很多人并不知道怎么查看,那么下面就来简单介绍一下怎样查看自己的ip地址。怎样查看自己的ip地址?方法一指令查询在电脑的左下角有一个ld怎么查ip地址IP地址不是经常用到,让人不经意的遗忘,但是ip地址很重要。同时发现很多人不知道怎么查看自己的ip地址,下面为大家介绍怎么查ip地址。怎么查ip地址方法一通过本机的控制面板查询1打win7如何查询电脑ip对于win7系统的用户来说,win7系统相对xp系统而又除了炫丽的界面之外,也多了许多不一样的地方,比如IP查看方法就稍有不同。虽然查询电脑ip的方法有很多,现在介绍一种简单的方法三星GALAXYi579去哪里下载驱动三星GALAXYi579安装手机驱动,尤其是android系统的驱动,可以从网上下载一个豌豆荚手机精灵即可!把手机的设置应用程序开发USB调试打开就可以了,这时候在和豌豆夹手机精灵威能壁挂炉怎么样威能壁挂炉品牌介绍图文详解壁挂炉是人们生活不可缺少的一个重要设备,它能够提供大流量生活热水,给家庭带来便利。壁挂炉作为家庭独立采暖的热源,采暖热效率非常高,远高于使用煤油电暖空调等的热效率。在众多的知名电壁北洋打印机怎么样北洋打印机价格多少图文现在市面上的打印机的品牌越来越多,消费者在购买的时候肯定会苦恼到底买哪个品牌的打印机比较好,找到了品牌,买哪种价位的比较好,今天小编就向大家介绍一下北洋这个品牌的打印机以及北洋打印北洋条码机怎么样北洋条码机相关介绍图文在日常生活中,我们经常会在超市或者商场看到物品的标签上都有条形码,通过扫描仪就可以直接显示商品的价格,非常的方便。那条形码是如何找印出来的呢,下面小编为大家介绍一款新北洋条码机,一