BitmapObject面白ぇ
ちょっと時間ができたのでFlash8をいじり始めてみました。
http://actionscript.jp/test/fla8test.html
※マウス位置に四角を描画、Y位置によってY方向のブラー制御、クリックで停止、再度クリックで色の範囲を変えて再度描画開始。
とりあえずBitmapObject面白い。フィルタ面白い。Flash8イカス。
適当なコードですが一応ソース
import flash.display.BitmapData; import flash.filters.BitmapFilter; import flash.filters.BlurFilter; import flash.geom.Point; class fla8test extends MovieClip { private var nWidth:Number = 550; private var nHeight:Number = 400; private var nBlurX:Number; private var nBlurY:Number; private var nBlurQ:Number = 1; private var nRangeR:Number; private var nRangeG:Number; private var nRangeB:Number; private var oBitmap:BitmapData; private var oFilter:BitmapFilter; private var bToggle:Boolean; public function fla8test() { oBitmap = new BitmapData(nWidth, nHeight, true, 0xFF000000); oFilter = new BlurFilter(nBlurX, nBlurY, nBlurQ); attachBitmap(oBitmap, 1); bToggle = false; this.onRelease = xRelease; xRelease(); } private function xDraw() { var nR = Math.round(Math.random()*nRangeR); var nG = Math.round(Math.random()*nRangeG); var nB = Math.round(Math.random()*nRangeB); var nRGB = (nR << 16)+(nG << 8)+(nB); var nW = Math.round(Math.random()*90); var nX = _xmouse; var nY = _ymouse; for (var i = nX-nW; i<nX+nW; i++) { for (var k = nY-nW; k<nY+nW; k++) { oBitmap.setPixel(i, k, nRGB); } } xFilter(); } private function xFilter() { nBlurX = 0; nBlurY = Math.abs( (_ymouse-(oBitmap.rectangle.height/2) )/2); oFilter = new BlurFilter(nBlurX, nBlurY, nBlurQ); oBitmap.applyFilter(oBitmap, oBitmap.rectangle, new Point(0, 0), oFilter); } private function xRelease() { if (bToggle) { this.onEnterFrame = null; } else { nRangeR=Math.random()*255; nRangeG=Math.random()*255; nRangeB=Math.random()*255; this.onEnterFrame = xDraw; } bToggle = !bToggle; } }