package { import flash.display.Bitmap; import flash.display.BitmapData; import flash.display.Sprite; import flash.events.Event; import flash.utils.getTimer; [SWF(width=400, height=300, backgroundColor=0x000000)] public class NoiseTest extends Sprite { private var _bitmapData:BitmapData; public function NoiseTest() { _bitmapData = new BitmapData(stage.stageWidth, stage.stageHeight); makeNoise(); addChild(new Bitmap(_bitmapData)); addEventListener(Event.ENTER_FRAME, onSpriteEnterFrame); } /** * 为bitmapData生成噪声图像 */ private function makeNoise():void { //第一个参数randomSeed每次取到的都不一样,因此每次调用此方法都会生成 //一副全新的噪声图像。第二个、三个参数决定了像素颜色的变化范围,以至于 //像素颜色不会太暗(越接近0越暗,越黑)。第四个参数保留了默认值,表示 //生成的随机像素颜色包含RGB三个通道。第四个参数设置为true,则全部像素都 //是经过灰化了的 _bitmapData.noise(getTimer(), 100, 255, 7, true); } /** * 每帧都生成新的一副噪声图像 */ private function onSpriteEnterFrame(event:Event):void { makeNoise(); } } }