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