//Bitmap类制作按钮.可以直接将一张图片分为左中右三个MC后生成 /** * date : 2007.2.6 * author : Frank * site : http://www.2solo.net/log */ import flash.display.*; import flash.geom.Rectangle; import flash.geom.Point; install_img("mT_over_bmp", 300, 75, 5, bmp_mc); function install_img(image_url, center_width, face_width, bar_left, tar_mc) { //image_url:目标图片路径 //center_width:整体宽度 //face_width:初始位图宽度 //bar_left:边侧mc宽度 //tar_mc:所要加载的容器地址 ///定义原始 var linkageId:String = image_url; var myBD:BitmapData = BitmapData.loadBitmap(linkageId); if (tar_mc == undefined || tar_mc == "") { tar_mc = this; } bmp_mc.attachBitmap(myBD, this.getNextHighestDepth()); face_width = face_width-2*bar_left; ///新建MC tar_mc.center_mc.removeMovieClip(); tar_mc.left_mc.removeMovieClip(); tar_mc.right_mc.removeMovieClip(); var center_mc:MovieClip = tar_mc.createEmptyMovieClip("center_mc", tar_mc.getNextHighestDepth()); var left_mc:MovieClip = tar_mc.createEmptyMovieClip("left_mc", tar_mc.getNextHighestDepth()); var right_mc:MovieClip = tar_mc.createEmptyMovieClip("right_mc", tar_mc.getNextHighestDepth()); center_mc._x = bar_left; left_mc._x = 0; right_mc._x = center_width-bar_left; ///新建图片数据 var myBD_C:BitmapData = new BitmapData(face_width, myBD.height, true, 0x00FF0000); var myBD_L:BitmapData = new BitmapData(bar_left, myBD.height, true, 0x00FF0000); var myBD_R:BitmapData = new BitmapData(bar_left, myBD.height, true, 0x00FF0000); ///拷贝图片 myBD_C.copyPixels(myBD, new Rectangle(bar_left, 0, face_width, myBD.height), new Point(0, 0)); myBD_L.copyPixels(myBD, new Rectangle(0, 0, bar_left, myBD.height), new Point(0, 0)); myBD_R.copyPixels(myBD, new Rectangle(myBD.width-bar_left, 0, bar_left, myBD.height), new Point(0, 0)); //加载图片 center_mc.attachBitmap(myBD_C, this.getNextHighestDepth()); left_mc.attachBitmap(myBD_L, this.getNextHighestDepth()); right_mc.attachBitmap(myBD_R, this.getNextHighestDepth()); ///调整距离 center_mc._width = center_width-2*bar_left; } stop();