巧用Bitmap类制作按钮_Flash教程-查字典教程网
巧用Bitmap类制作按钮
巧用Bitmap类制作按钮
发布时间:2016-12-28 来源:查字典编辑
摘要:最近在制作flash时需要制作一个可以随意设定宽度的按钮组件.为了保证按钮样式不变形,一般都会采用将按钮分成几个mc的方法来制作.但其实,如...

最近在制作flash时需要制作一个可以随意设定宽度的按钮组件.为了保证按钮样式不变形,一般都会采用将按钮分成几个mc的方法来制作.但其实,如果对按钮的动态效果要求不多的话,完全可以使用Bitmap类来制作.下面是将按钮的一个状态分解开来.一般的思路是做为三个MC,然后在改变宽度是,动态改变中间mc的宽度就可以了。但是这样的话,对于元素的制作就比较麻烦.使用bitmap类可以直接将一张图片分为三个MC后生成.在批量使用时,效率提高了不少.

方法:

复制代码 代码如下:

/**

*date:2007.2.6

*author:Frank

*site:http://www.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:边侧mc宽度

//tar_mc:所要加载的容器地址

///定义原始

varlinkageId:String=image_url;

varmyBD: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();

varcenter_mc:MovieClip=tar_mc.createEmptyMovieClip("center_mc",tar_mc.getNextHighestDepth());

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: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_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));

//加载图片

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();

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新Flash教程学习
    热门Flash教程学习
    网页设计子分类