网站建设  下载中心 社区论坛 信息公告 MY小屋
联系我们
设为首页
加入收藏

 

当前位置:首页>>网络媒体>>Flash>>正文
注:打开慢时请稍等

巧用Bitmap类制作按钮

  日期:2007-3-29 13:06:21  来源:蓝色理想  点击:
参加讨论

最近在制作flash时需要制作一个可以随意设定宽度的按钮组件.为了保证按钮样式不变形,一般都会采用将按钮分成几个mc的方法来制作.但其实,如果对按钮的动态效果要求不多的话,完全可以使用Bitmap类来制作.下面是将按钮的一个状态分解开来.一般的思路是做为三个MC,然后在改变宽度是,动态改变中间mc的宽度就可以了。但是这样的话,对于元素的制作就比较麻烦.使用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", 200, 158, 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();


编辑:iyit.net [发送给好友] [打印本页] [关闭窗口] [返回顶部]
上一篇:flash 360度3D虚拟实境(cubicVR)实现原理
下一篇:XML动态菜单
转载请注明来源:www.iyit.net
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。

 相关文章
FLASH与ASP通信原理入门 8 其它通讯方式 FLASH与ASP通信原理入门 7 LV与ASP综合 FLASH与ASP通信原理入门 6 LV与ASP综合
FLASH与ASP通信原理入门 5 ASP操作数据 FLASH与ASP通信原理入门 4 LV与ASP通讯 FLASH与ASP通信原理入门 3 ASP中基本的
FLASH与ASP通信原理入门 2 LV类基础讲解 FLASH与ASP通信原理入门1 LoadVars类基 Flash破解与加密 
XML动态菜单  flash 360度3D虚拟实境(cubicVR)实现 Authorware中自动擦除Flash动画
养成Flash ActionScript代码编写好习惯 Flash文件的破解与加密方法探秘  学习Flash ActionScript编程的注意事项
Flash导航菜单轻松制作好帮手 Flash绘制精致矢量图:斑驳的秋天落叶 新版FlashGet新功能之BT下载抢先试用
FLASH游戏制作基础:响应键盘的四种方法 flash带进度条的Loading制作 Flash 8怎样防止抄袭的办法!!
Dreamweaver中实现flash的透明背景 Flash中利用javascript完全屏蔽右键!
最新更新 热点排行 推荐新闻
FLASH与ASP通信原理入门 8 其它通讯方
FLASH与ASP通信原理入门 7 LV与ASP综
FLASH与ASP通信原理入门 6 LV与ASP综合
FLASH与ASP通信原理入门 5 ASP操作数据
FLASH与ASP通信原理入门 4 LV与ASP通讯
FLASH与ASP通信原理入门 8 其它通讯方
FLASH与ASP通信原理入门 7 LV与ASP综
FLASH与ASP通信原理入门 6 LV与ASP综合
FLASH与ASP通信原理入门 5 ASP操作数据
FLASH与ASP通信原理入门 4 LV与ASP通讯
FLASH与ASP通信原理入门 3 ASP中基本的
FLASH与ASP通信原理入门 2 LV类基础讲
FLASH与ASP通信原理入门1 LoadVars类基
Flash破解与加密 
XML动态菜单 
Flash文件的破解与加密方法探秘 
养成Flash ActionScript代码编写好习惯
Flash纯脚本生成饼图 
flash 360度3D虚拟实境(cubicVR)实现
FLASH与ASP通信原理入门 8 其它通讯方
最新网络游戏:六款网游大作本周开启测
精典悬浮div代码,拖动 隐藏显示效果
77条Windows Vista特性总结
在ASP与ASP.NET之间共享对话状态(2)
QQ2007 Beta1(兼容 Windows Vista) 
熊猫烧香幕后黑手是流氓软件?
网络工程师教程 网络教程 网络工程师
游戏商称90%的游戏与Vista不兼容,Vis
著名的韩国素材网站 韩国素材大全
微软Vista日本遇麻烦 网银电邮无法使用
FLASH与ASP通信原理入门1 LoadVars类基
Flash破解与加密 
XML动态菜单 
巧用Bitmap类制作按钮
flash 360度3D虚拟实境(cubicVR)实现
FLASH与ASP通信原理入门1 LoadVars类基
Flash破解与加密 
XML动态菜单 
巧用Bitmap类制作按钮
flash 360度3D虚拟实境(cubicVR)实现
Flash纯脚本生成饼图 
如何用CSS定义表格与模拟表格 
div+css布局漫谈
电脑开机常见硬件故障大解析
解决了带javascript语句的链接全都打不

设置首 页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
Copyrights © 2004-2007 iYiT.Net All Rights Reserved.
网站合作、广告联系QQ:147007642、466949678
易特网络技术 点击这里给我发消息