资源描述:
《flash在电子游戏中的应用之360虚拟引擎实现》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、最近在制作flash时需要制作一个可以随意设定宽度的按钮组件.为了保证按钮样式不变形,一般都会采用将按钮分成几个mc的方法来制作.但其实,如果对按钮的动态效果要求不多的话,完全可以使用Bitmap类来制作.下面是将按钮的一个状态分解开来.一般的思路是做为三个MC,然后在改变宽度是,动态改变中间mc的宽度就可以了。但是这样的话,对于元素的制作就比较麻烦.使用bitmap类可以直接将一张图片分为三个MC后生成.在批量使用时,效率提高了不少.方法:/** *date :2007.2.6 *author:Frank *site :http://www
2、.2solo.net/log */importflash.display.*;importflash.geom.Rectangle;importflash.geom.Point;install_img("mT_over_bmp",200,158,5,bmp_mc);functioninstall_img(image_url,center_width,face_width,bar_left,tar_mc){ //image_url:目标图片路径 //center_width:整体宽度 //face_width:初始位图宽度 //bar_left
3、:边侧mc宽度 //tar_mc:所要加载的容器地址http://www.tt870311.com ///定义原始http://www.ahesh.com/ varlinkageId:String=image_url; varmyBD:BitmapData=BitmapData.loadBitmap(linkageId); if(tar_mc==undefined
4、
5、tar_mc==""){ tar_mc=this; } //bmp_mc.attachBitmap(myBD,this.getNextHighestDepth());
6、 face_width=face_width-2*bar_left; ///新建MC tar_mc.center_mc.removeMovieClip(); tar_mc.left_mc.removeMovieClip(); tar_mc.right_mc.removeMovieClip(); varcenter_mc:MovieClip=tar_mc.createEmptyMovieClip("center_mc",tar_mc.getNextHighestDepth());
7、 varleft_mc:MovieClip=tar_mc.createEmptyMovieClip("left_mc",tar_mc.getNextHighestDepth()); varright_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; ///新建图片数据 varmyBD_C
8、:BitmapData=newBitmapData(face_width,myBD.height,true,0x00FF0000); varmyBD_L:BitmapData=newBitmapData(bar_left,myBD.height,true,0x00FF0000); varmyBD_R:BitmapData=newBitmapData(bar_left,myBD.height,true,0x00FF0000); ///拷贝图片 myBD_C.copyPixels(myBD,newRectangle(bar_left,0,face
9、_width,myBD.height),newPoint(0,0)); myBD_L.copyPixels(myBD,newRectangle(0,0,bar_left,myBD.height),newPoint(0,0)); myBD_R.copyPixels(myBD,newRectangle(myBD.width-bar_left,0,bar_left,myBD.height),newPoint(0,0)); //加载图片http://blog.sina.com.cn/u/2737751814 center_mc.attachBitma
10、p(myBD_C,this.getNextHighestDepth()); left_mc.attachBitmap(myBD_L,this.getNextHigh