Forked from: hacker_3szp8277's convolution_life diff:10 forked from: convolution_life mikesoylu forked:0favorite:0lines:38license : All rights reserved modified : 2010-02-08 09:31:58 Embed Tweet package { import flash.display.Bitmap; import flash.display.BitmapData; import flash.display.Sprite; import flash.events.Event; import flash.filters.ConvolutionFilter; import flash.geom.Point; public class convolutionLife extends Sprite { private var life:BitmapData; private var step:ConvolutionFilter; private var rule:Array; public function convolutionLife() { life = new BitmapData(465, 465, false, 0); for(var i:int=0;i<465;i++){ for(var j:int=0;j<465;j++){ if(Math.random()*2>1){ life.setPixel(i,j,0xffffff); } } } addChild(new Bitmap(life)); step = new ConvolutionFilter(3, 3, [1, 1, 1, 1, 9, 1, 1, 1, 1], 0xFFFFFF, 0); rule = [0, 0, 0, 0xFFFFFF, 0, 0, 0, 0, 0, 0, 0, 0xFFFFFF, 0xFFFFFF];//13 addEventListener(Event.ENTER_FRAME,onEnterFrame); } private const pt:Point = new Point(); private function onEnterFrame(e:Event) :void{ life.applyFilter(life, life.rect, pt, step); life.paletteMap(life, life.rect, pt, null, rule, null, null); } } } Code Fullscreen Preview Fullscreen ConvolutionFilter addEventListener Point addChild Event.ENTER_FRAME Event Array Math.random Sprite int