import flash.filters.BlurFilter; dynamic class _Draw { static function box(targetMC,targetDepth,w,h,c,r,gradientType){ var targetDepth = (targetDepth != undefined && targetDepth != null) ? targetDepth : targetMC.getNextHighestDepth(); var newBox:MovieClip = targetMC.createEmptyMovieClip("newBox", targetDepth); var g:Object = new Object(); if (c.length != undefined){ g = getGradientObject(w,h,gradientType); newBox.beginGradientFill(g.fillType, c, g.alphas, g.ratios, g.matrix, g.spreadMethod, g.interpolationMethod, g.focalPointRatio); } else { newBox.beginFill(c); } if (r == undefined) var r = 0; with (newBox){ lineStyle(0,0x000000,0); moveTo(r, 0); lineTo(w-r, 0); curveTo(w,0,w,r); lineTo(w, h-r); curveTo(w,h,w-r,h); lineTo(r, h); curveTo(0,h,0,h-r); lineTo(0, r); curveTo(0,0,r,0); endFill(); } return newBox; } static function balloon(targetMC,targetDepth,w,h,c,r,gradientType,arrowBaseOffset,arrowBaseWidth,arrowLength,arrowPointOffset){ var targetDepth = (targetDepth != undefined && targetDepth != null) ? targetDepth : targetMC.getNextHighestDepth(); var newBalloon:MovieClip = targetMC.createEmptyMovieClip("newBalloon", targetDepth); var g:Object = new Object(); if (c.length != undefined){ g = getGradientObject(w,h,gradientType); newBalloon.beginGradientFill(g.fillType, c, g.alphas, g.ratios, g.matrix, g.spreadMethod, g.interpolationMethod, g.focalPointRatio); } else { newBalloon.beginFill(c); } if (r == undefined) var r = 0; with (newBalloon){ lineStyle(0,0x000000,0); moveTo(r, 0); lineTo(w-r, 0); curveTo(w,0,w,r); lineTo(w, h-r); curveTo(w,h,w-r,h); // start arrow lineTo(r + arrowBaseOffset + arrowBaseWidth, h); lineTo(r + arrowBaseOffset + (arrowBaseWidth/2) + arrowPointOffset, h + arrowLength); lineTo(r + arrowBaseOffset, h); // end arrow lineTo(r, h); curveTo(0,h,0,h-r); lineTo(0, r); curveTo(0,0,r,0); endFill(); } return newBalloon; } static function getGradientObject(w,h,gradientType){ var gradientObj:Object = new Object(); gradientObj.fillType = "linear" gradientObj.alphas = [100, 100]; gradientObj.ratios = [0, 0xFF]; gradientObj.spreadMethod = "pad"; gradientObj.interpolationMethod = "RGB"; gradientObj.focalPointRatio = 1; if (gradientType == "vGradient") { gradientObj.matrix = {a:0, b:w, c:0, d:-h, e:0, f:0, g:0,h:h/2, i:1}; } else { gradientObj.matrix = {a:w, b:0, c:0, d:0, e:w, f:0, g:w/2, h:0, i:1}; } return gradientObj; } static function blur(mc,blurAmount,blurOpacity){ blurAmount = (blurAmount == undefined) ? 10 : blurAmount; blurOpacity = (blurOpacity == undefined) ? 100 : blurOpacity; var filter:BlurFilter = new BlurFilter(blurAmount, blurAmount, 2); var filterArray:Array = new Array(); filterArray.push(filter); mc.filters = filterArray; mc._alpha = blurOpacity } }
You need to create an account or log in to post comments to this site.