本例利用flash快速制作烟雾动画,主要利用AS3的类来实现。本文最后提供源码压缩包下载,源文件仅供学习交流之用。 我们先看看效果演示: 效果演示
首先我们在Photoshop中制作一个烟雾的照片,这里主要使用Photoshop的画笔来实现。 图1
图2
图3
之后我们导进到FLASH中来,然后转变为影片剪辑原件,命名为smokepuff。之后我们打开库,然后右击该元件,设置链接。 图4
然后编辑种别,代码如下。 package com.asgamer.graphics { import flash.display.BlendMode; import flash.display.MovieClip; import flash.events.Event; public class Smokepuff extends MovieClip { public var vx:Number; public var vy:Number; public function Smokepuff() : void { alpha = Math.random(); vx = Math.random() - Math.random(); vy = Math.random() * 3 - 5; scaleX = scaleY = Math.random(); addEventListener(Event.ENTER_FRAME, loop, false, 0, true); } private function loop(e:Event) : void { alpha -= 0.01; y += vy; x += vx; scaleX = scaleY += 0.02; if (alpha < 0) removeSelf(); } private function removeSelf() : void { removeEventListener(Event.ENTER_FRAME, loop); parent.removeChild(this); } } } | 文档的属性为: 图5
之后我们创建一个main.as package { import flash.display.Stage; import flash.display.MovieClip; import flash.events.Event; import com.asgamer.graphics.Smokepuff; import flash.display.Sprite; public class Main extends Sprite { public function Main() : void { addEventListener(Event.ENTER_FRAME, loop, false, 0, true); } private function loop(e:Event) : void { var smokepuff:Smokepuff = new Smokepuff(); smokepuff.x = 250; smokepuff.y = 250; stage.addChild(smokepuff); } } } | 测试效果。最后提供大家源码:点击下载
|