本例利用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);
}
}
}