コード例
import flash.filters.DisplacementMapFilter;
import flash.geom.Point;
import flash.display.BitmapData;
//置き換えマップ生成
var dispMap:BitmapData = new BitmapData(300, 300, true, 0xFFCCCCCC);
dispMap.perlinNoise(80, 80, 1, Math.random()*200, false, true, 1, true, null);
//置き換えフィルタ生成
var factor:Number = 600;
var dispFilter:DisplacementMapFilter
= new DisplacementMapFilter(
dispMap, new Point(0, 0), 1, 2, factor, factor, "wrap", 0, 0);
//フィルタ適用
distClip.filters = new Array(dispFilter);
//フレーム毎アクション
onEnterFrame = function () {
factor -= 10;
dispFilter.scaleX = factor;
dispFilter.scaleY = factor;
distClip.filters = new Array(dispFilter);
if (factor == 0) {
delete onEnterFrame;
play();
}
};
|