import flash.display.BitmapData; import flash.geom.*; cellWidth = 20; cellHeight = 20; canvas_mc = this.createEmptyMovieClip('canvas_mc', 60); canvas_mc.lineStyle(1, 0x999999, 50, true, 'none', 'none'); canvas_mc.moveTo(cellWidth-1, -1); canvas_mc.lineTo(cellWidth-1, cellHeight+1); canvas_mc.moveTo(-1, cellHeight-1); canvas_mc.lineTo(cellWidth-1, cellHeight-1); bmp = new BitmapData(cellWidth, cellHeight, true, 0); bmp.draw(canvas_mc); onResize = function () { canvas_mc.clear(); canvas_mc.beginBitmapFill(bmp, new Matrix(), true, false); canvas_mc.moveTo(0, 0); canvas_mc.lineTo(Stage.width, 0); canvas_mc.lineTo(Stage.width, Stage.height); canvas_mc.lineTo(0, Stage.height); }; ///////////// gradient_bmp = new BitmapData(800, 800, true, 0x00000000); gradient_mc = this.createEmptyMovieClip("gradient_mc", 2); with (gradient_mc) { colors = [0, 0xFFFFFF]; fillType = "radial"; alphas = [0, 100]; ratios = [150, 255]; spreadMethod = "pad"; interpolationMethod = "linearRGB"; focalPointRatio = 0; matrix = new Matrix(); matrix.createGradientBox(300, 300, 0, 250, 250); beginGradientFill(fillType, colors, alphas, ratios, matrix, spreadMethod, interpolationMethod, focalPointRatio); moveTo(0, 0); lineTo(800, 0); lineTo(800, 800); lineTo(0, 800); lineTo(0, 0); endFill(); } gradient_bmp.draw(this.gradient_mc); gradient_mc.removeMovieClip(); fog_bmp = new BitmapData(2000, 2000, false, 0xCCFFFFFF); onMouseMove = function () { fog_bmp.copyPixels(gradient_bmp, new Rectangle(0, 0, 800, 800), new Point(_xmouse-400, _ymouse-400)); }; this.attachBitmap(fog_bmp, 1); Stage.align = 'LT'; Stage.scaleMode = 'noScale'; Stage.addListener(this); onResize();