root/as3/Astro/ShaderFilter/Mudflow/MetaBallCanvas.as

リビジョン 420, 1.1 kB (コミッタ: gyuque, コミット時期: 4 年 前)

moved

Line 
1 package
2 {
3         import flash.display.*;
4         import flash.geom.*;
5         import flash.filters.ShaderFilter;
6
7         public class MetaBallCanvas extends Sprite
8         {
9                 private var mOfsSprite:Sprite;
10                 private var mOffscreen:BitmapData;
11
12                 private var mBitmapData:BitmapData;
13                 private var mBitmap:Bitmap;
14
15                 private var mClearRect:Rectangle;
16                 private var mFilter:ShaderFilter;
17
18                 function MetaBallCanvas(w:int, h:int, shader:Shader)
19                 {
20                         shader.data.color.value  = [0.7,0.2,0.1,1];
21                         shader.data.thresh.value = [0.38];
22
23                         mFilter = new ShaderFilter();
24                         mFilter.shader = shader;
25
26                         mOfsSprite = new Sprite();
27                         mOffscreen = new BitmapData(w, h, true, 0);
28        
29                         mBitmapData = new BitmapData(w, h, true, 0);
30                         mBitmap = new Bitmap(mBitmapData);
31                         mClearRect = new Rectangle(0, 0, w, h);
32
33                         addChild(mBitmap);
34                 }
35
36                 public function get offscreenSprite():Sprite
37                 {
38                         return mOfsSprite;
39                 }
40
41                 public function render():void
42                 {
43                         mOffscreen.fillRect(mClearRect, 0);
44                         mOffscreen.draw(mOfsSprite);
45                         mBitmapData.applyFilter(mOffscreen, mClearRect, new Point(0,0), mFilter);
46                 }
47
48         }
49 }
Note: リポジトリブラウザについてのヘルプは TracBrowser を参照してください。