flash on 2015-5-9
♥0 |
Line 60 |
Modified 2015-05-10 00:15:46 |
MIT License
archived:2017-03-30 11:46:17
ActionScript3 source code
/**
* Copyright mutantleg ( http://wonderfl.net/user/mutantleg )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/fd3O
*/
package {
import flash.geom.Matrix;
import flash.display.BitmapData;
import flash.events.Event;
import flash.display.Sprite;
public class FlashTest extends Sprite {
public function FlashTest() {
canvas.setPixel(8,8, 255);
stage.addEventListener(Event.ENTER_FRAME, onEnter);
}//ctor
public var canvas:BitmapData = new BitmapData(64,64, false, 0);
public var mat:Matrix = new Matrix(4,0,0,4);
public var gt:int = 0;
public function procWall(k:int ,h:int):void
{
var c:int; var c2:int; var c3:int;
c = canvas.getPixel(k, h);
c2 = canvas.getPixel(k+1, h);
c3 = canvas.getPixel(k-1, h); if (c3 > c2) { c2 = c3; }
c3 = canvas.getPixel(k, h-1); if (c3 > c2) { c2 = c3; }
c3 = canvas.getPixel(k, h+1); if (c3 > c2) { c2 = c3; }
c3 = canvas.getPixel(k+1, h+1); if (c3 > c2) { c2 = c3; }
c3 = canvas.getPixel(k-1, h+1); if (c3 > c2) { c2 = c3; }
c3 = canvas.getPixel(k-1, h-1); if (c3 > c2) { c2 = c3; }
c3 = canvas.getPixel(k+1, h-1); if (c3 > c2) { c2 = c3; }
if (c < c2) { c = c2 - 16; }
c -= 4;
if (c < 0) { c = 0; }
canvas.setPixel(k, h, c);
}//procwall
public function onEnter(e:Event):void
{
var mx:Number;
var my:Number;
mx = stage.mouseX/4;
my = stage.mouseY/4;
canvas.setPixel(mx,my,255);
canvas.setPixel(8,8, 255);
canvas.setPixel(32,32, 128);
var i:int; var h:int; var k:int;
var mw:int; var mh:int;
h = gt % 64;
mw = canvas.width;
mh = canvas.height;
for (i =0; i < 16; i++)
{
h=((gt*16)+i)%64;
for (k =0;k<mw;k++) { procWall(k, h); }
for (k =mw-1;k>=0;k-=1) { procWall(k, h); }
}//nexti
gt += 1;
canvas.unlock();
canvas.lock();
graphics.clear();
graphics.beginBitmapFill(canvas, mat, false, false);
graphics.drawRect(0,0,canvas.width*mat.a,canvas.height*mat.d);
graphics.endFill();
}//onenter
}//classend
}