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

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

  今天教大家利用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 扩展实例
  教程已完毕,希望对大家都有一定的帮助。

联想Yoga3Pro有什么接口?有几个USB接口?联想Yoga3Pro有什么接口联想Yoga3Pro有USB3。0接口VGA接口HDMI接口RJ45接口声音输入声音输出孔直流电源插孔安全锁孔等。针对联想Yoga3Pro有什么接口的联想Yoga3Pro显卡类型是什么?显卡芯片是什么?联想Yoga3Pro显卡类型是什么联想Yoga3Pro显卡类型是核芯显卡。针对联想Yoga3Pro显卡类型是什么的问题,联想Yoga3Pro延续了Yoga的多种使用模式,笔记本式(联想Yoga3Pro显存位宽是多少?显存类型是什么?联想Yoga3Pro显存位宽是多少联想Yoga3Pro显存位宽是没有详细介绍。关于联想Yoga3Pro显存位宽是多少的疑问,下面将做详细的解答。联想Yoga3Pro将搭载英特尔首批联想Yoga3Pro流处理器数是多少?支持DirectX11吗?联想Yoga3Pro流处理器数量是多少联想Yoga3Pro流处理器数量并没有详细说明。联想Yoga3Pro将搭载英特尔首批14nm制程的CoreM5Y70处理器,这是Broadwe联想Yoga3Pro有HDMI接口吗?有VGA接口吗?联想Yoga3Pro有HDMI接口吗联想Yoga3Pro有HDMI接口。根据提供的消息资料,就能了解到联想Yoga3Pro有HDMI接口吗。联想Yoga3Pro采用了3200180联想yoga6pro13怎么装win7联想yoga6pro13装win7方法联想yoga6pro13笔记本是一款2017年上市的娱乐影音笔记本电脑,这款电脑搭载了英特尔酷睿第八代i7处理器以及性能级独立显卡,能够满足用户们日常娱乐使用需求,那么联想yoga联想yoga5pro如何使用bios设置u盘启动图文教程联想yoga5pro笔记本是一款拥有着13。9英寸屏幕的笔记本电脑,其搭载着intel酷睿第七代处理器,能够满足用户们日常使用需求,那么这款联想yoga5pro笔记本怎么设置u盘启联想小新Air13Pro显卡怎么样联想小新Air13Pro显卡怎么样联想小新Air13Pro在显卡方面并没有详细介绍,该笔记本搭配了新锐的Geforce940MX显卡。关于联想小新Air13Pro显卡怎么样的疑问,联想Yoga3Pro内存怎么样?内存容量是多少?联想Yoga3Pro内存怎么样联想Yoga3Pro在内存方面依旧可选4GB或8GB,其存储空间分别为256GB和512GB。联想Yoga3Pro内存怎么样?联想Yoga3Pro选用ThinkPadE455多少钱?ThinkPadE455价格ThinkPadE455多少钱ThinkPadE455的售价是3799元。ThinkPadE455延续了小黑的经典设计风格,顶盖部分采用了复合材质打造,同时以石墨黑涂层代替了传统的ThinkPadE455的CPU是什么?CPU主频是多少?ThinkPadE455的CPU是什么ThinkPadE455的CPU是AMDA87100处理器。根据提供的消息资料,就能了解到ThinkPadE455的CPU是什么。轻薄已经成了
佳能SX50HS有什么功能佳能SX50HS支持遥控功能光学防抖WIFI功能等功能。佳能SX50HS配备了2。8英寸46。1万像素PureColorIIG可翻转液晶显示屏,采用了工程塑料材质,质感还算不错。机佳能SX275HS标配有什么佳能SX275HS标配有数码相机解决方案光盘电源线电池充电器CB2LYT锂离子充电电池NB6USB连接线IFC400PCU腕带。佳能SX275HS采用了3英寸46万像素LCD固定式佳能SX50HS有什么测光方式佳能SX50HS的测光方式有点测光中央重点测光多重测光。佳能SX50HS配备了2。8英寸46。1万像素PureColorIIG可翻转液晶显示屏,采用了工程塑料材质,质感还算不错。机佳能SX510HS使用什么电池?佳能SX510HS续航能力怎么样?佳能SX510HS使用什么电池电池方面,佳能SX510HS的标配中附有一块型号为NB6LH的可充电锂离子电池,容量为1060毫安时。佳能SX510HS作为上一代佳能SX500IS的佳能SX50HS支持CF卡吗佳能SX50HS不支持CF卡,支持SDHC卡SD卡SDXC卡。佳能SX50HS配备了2。8英寸46。1万像素PureColorIIG可翻转液晶显示屏,采用了工程塑料材质,质感还算不佳能SX50HS支持SDXC卡吗佳能SX50HS支持SDXC卡SDHC卡SD卡。佳能SX50HS配备了2。8英寸46。1万像素PureColorIIG可翻转液晶显示屏,采用了工程塑料材质,质感还算不错。机身尺寸为佳能SX510HS支持SDXC卡吗?佳能SX510HS支持SDHC卡吗?佳能SX510HS支持SDXC卡吗佳能SX510HS支持SDXC卡。佳能SX510HS作为上一代佳能SX500IS的升级版,它保留实用性强的30倍光学变焦(等效35mm画幅拍摄焦距佳能SX275HS支持SDHC卡吗佳能SX275HS支持SDHC卡SD卡SDXC卡。佳能SX275HS采用了3英寸46万像素LCD固定式非触摸屏,整机三围106。4times61。1times32。6mm(不包括凸佳能SX50HS支持什么格式存储卡佳能SX50HS支持SDHC卡SD卡SDXC卡。佳能SX50HS配备了2。8英寸46。1万像素PureColorIIG可翻转液晶显示屏,采用了工程塑料材质,质感还算不错。机身尺寸为佳能SX240HS有什么图片格式佳能SX240HS支持JPEG(Exif2。3)等图片格式。佳能SX240HS配备了一块3。0英寸46。1万像素TFT液晶屏,采用全新的流线形设计,全金属外壳,铝合金材质,机身尺寸佳能SX510HS支持手动模式吗?佳能SX510HS支持遥控功能吗?佳能SX510HS支持手动模式吗佳能SX510HS支持手动模式。佳能SX510HS同其他SX系列一样都是主打大倍率变焦的长焦相机。佳能SX510HS使用一枚30倍光学变焦的镜头,其