- 浏览: 578089 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
wzh051527:
我是大四实习生一个,自我感觉技术能力在第三年。。唯一不明白,为 ...
十年技术,不要再迷茫 -
room_bb:
.hrl文件怎么加入到编译规则里面?比如:pp.hrl文件-d ...
Erlang中用的makefile的一点解释 -
吉米家:
感觉帆软报表的flash打印就很不错哇,特别好用
JSP 实现报表打印 -
雪碧爱芬达:
苦逼程序员的辛酸反省与总结 -
mlyjxx:
...
十年技术,不要再迷茫
[url]http://bbs.blueidea.com/viewthread.php?tid=2915069
[/url]
最近做游戏,发现flash里位图是无法使用scale9Grid这个属性,,,没办法,只好自己写了一个,,,原理很简单,,用程序把位图切成九块,,装里一个Sprite里,然后重写Sprite的width和height这两个方法,根据改变大小来重新设置位图的各个位置…这样就实现了位图的不变形缩放….
ps:近期我会把以前做的一些小东西的源码放出来,供大家学习使用…
严重声明,,,
发现好多人都不知道这个问题,,用FLASH编译,位图使用scale9Grid也没用,
/** * @project dynasty * @author 郭晟 or 猪哥靓 * @copyright * @document * @history * create 2009-2-20 * 位图Scale9Grid功能 **/ package { import flash.display.Sprite; import flash.display.Bitmap; import flash.display.BitmapData; import flash.geom.Rectangle; import flash.geom.Point; public class BitmapScale9Grid extends Sprite { private var source : Bitmap; private var scaleGridTop : Number; private var scaleGridBottom : Number; private var scaleGridLeft : Number; private var scaleGridRight : Number; private var leftUp : Bitmap; private var leftCenter : Bitmap; private var leftBottom : Bitmap; private var centerUp : Bitmap; private var center : Bitmap; private var centerBottom : Bitmap; private var rightUp : Bitmap; private var rightCenter : Bitmap; private var rightBottom : Bitmap; private var _width : Number; private var _height : Number; private var minWidth : Number; private var minHeight : Number; public function BitmapScale9Grid(source:Bitmap, scaleGridTop:Number, scaleGridBottom:Number, scaleGridLeft:Number, scaleGridRight:Number ) { this.source = source; this.scaleGridTop = scaleGridTop; this.scaleGridBottom = scaleGridBottom; this.scaleGridLeft = scaleGridLeft; this.scaleGridRight = scaleGridRight; init(); } private function init() : void { _width = source.width; _height = source.height; leftUp = getBitmap(0, 0, scaleGridLeft, scaleGridTop); this.addChild(leftUp); leftCenter = getBitmap(0, scaleGridTop, scaleGridLeft, scaleGridBottom - scaleGridTop); this.addChild(leftCenter); leftBottom = getBitmap(0, scaleGridBottom, scaleGridLeft, source.height - scaleGridBottom); this.addChild(leftBottom); centerUp = getBitmap(scaleGridLeft, 0, scaleGridRight - scaleGridLeft, scaleGridTop); this.addChild(centerUp); center = getBitmap(scaleGridLeft, scaleGridTop, scaleGridRight - scaleGridLeft, scaleGridBottom - scaleGridTop); this.addChild(center); centerBottom = getBitmap(scaleGridLeft, scaleGridBottom, scaleGridRight - scaleGridLeft, source.height - scaleGridBottom); this.addChild(centerBottom); rightUp = getBitmap(scaleGridRight, 0, source.width - scaleGridRight, scaleGridTop); this.addChild(rightUp); rightCenter = getBitmap(scaleGridRight, scaleGridTop, source.width - scaleGridRight, scaleGridBottom - scaleGridTop); this.addChild(rightCenter); rightBottom = getBitmap(scaleGridRight, scaleGridBottom, source.width - scaleGridRight, source.height - scaleGridBottom); this.addChild(rightBottom); minWidth = leftUp.width + rightBottom.width; minHeight = leftBottom.height + rightBottom.height; } private function getBitmap(x:Number, y:Number, w:Number, h:Number) : Bitmap { var bit:BitmapData = new BitmapData(w, h); bit.copyPixels(source.bitmapData, new Rectangle(x, y, w, h), new Point(0, 0)); var bitMap:Bitmap = new Bitmap(bit); bitMap.x = x; bitMap.y = y; return bitMap; } override public function set width(w : Number) : void { if(w < minWidth) { w = minWidth; } _width = w; refurbishSize(); } override public function set height(h : Number) : void { if(h < minHeight) { h = minHeight; } _height = h; refurbishSize(); } private function refurbishSize() : void { leftCenter.height = _height - leftUp.height - leftBottom.height; leftBottom.y = _height - leftBottom.height; centerUp.width = _width - leftUp.width - rightUp.width; center.width = centerUp.width; center.height = leftCenter.height; centerBottom.width = center.width; centerBottom.y = leftBottom.y; rightUp.x = _width - rightUp.width; rightCenter.x = rightUp.x; rightCenter.height = center.height; rightBottom.x = rightUp.x; rightBottom.y = leftBottom.y; } } }
发表评论
-
as3 Loader 加载资源后内存泄露无法释放的问题。
2014-06-21 10:30 642as3 Loader 加载资源后内存泄露无法释放的问题。 ... -
as3判断flash player版本的函数
2014-06-10 20:35 800//判断当前版本是否高于9.0.115.0为例子. pr ... -
CSS 中文字体的英文名称 (simhei, simsun) 宋体 微软雅黑
2014-04-03 15:25 966华文细黑:STHeiti Light [STXihei]华文 ... -
as3.0的垃圾回收机制
2013-09-07 14:02 1465还是同样的博客,还是同样的作者(Daniel Sidhio ... -
AIR程序多开
2013-09-07 13:55 968AIR应用通常不能像QQ那样能进行多开操作。为了让一个用AI ... -
starling性能优化总结
2013-07-22 14:06 1441在项目开发的过程中总结了一下starling的性能优化方案: ... -
AS3 Socket从零开始
2013-07-22 12:54 1071大家如果想学AS3 Socket直接在百度里搜一下,会找到很 ... -
绕开AS3安全沙箱 跨域加载SWF
2013-07-11 12:53 868AS3的安全沙箱的确是 ... -
解决AS3在ie中初始化时stageWidth和stageHeight为0
2013-06-14 09:23 974先看下面的一段脚本,这是比较经典的初始化脚本: pac ... -
动态获取swc中的类
2013-05-25 10:32 909想通过代码生成,来获取swc中的类,并且可以作为普通类正常使 ... -
AS3 中字符串的format功能实现
2013-05-25 10:19 805使用C#的朋友都知道,string.Format();还是挺 ... -
总结调用Flash的几种方法
2013-05-02 16:18 1625一、Adobe 提供的方法 <object wi ... -
Flash3D错误集锦
2013-05-02 14:03 896VerifyError: Error #1014: 无法找到 ... -
使用scale拉伸之后的坐标问题
2013-04-12 09:38 1240最近发现论坛多了很多 ... -
30个实用的网页设计工具
2013-03-20 09:58 780作为一位网页设计师或开发者,你一直需要搜寻获取强大的网页设计 ... -
如何成为强大的程序员?
2013-03-11 11:27 698Aaron Stannard是新创公 ... -
漫谈重构
2013-03-11 11:09 823因为工作内容的原因, ... -
AS3使用谷歌API生成二维码
2012-12-10 16:24 1314二维码在新闻杂志,网站,网络广告,电视广告等地方随处可见 ... -
OOP的聚合原则
2012-12-10 16:21 899什么是聚合? 聚合可以很好地表达对象是什么和做 ... -
压缩速率追踪
2012-11-02 14:16 1427Flash Player 11.3添加了一个压缩和解压B ...
相关推荐
Flex位图九宫格处理工具 类似于使用Embed处理方式 可在Flex4的外观中使用
帮助flash内实现图片的9宫格缩放,位图九宫格缩放,ActionScript3代码实现。
9格切片位图脚本 9格切片位图脚本 9格切片位图脚本
位图置换飘忽效果-PerlinDistort类flash源文件
自已总结,觉得对于Flash文档中大量图片的保真...可以对Flash IDE中所有打开的文档一键操作,也可以仅对当前文档操作,结果是将位图转为无损格式并且平滑。有需要的朋有看看。因为我的米米不多,所以此文档要宰你2分。
综合以上特性,我们可以使用Bitmap将矢量图动画缓存为位图动画,多个相同的对象共用同一份BitmapData数据,这样既可以大幅降低cpu占用,又可以节省内存,同时还避免了直接在库里面使用图片而造成flash文件变大的...
这是一个flashCS系列使用的jsfl文件。首先打开fla文档(该fla文档必须被保存过),之后双击运行该文件会将当前正在编辑的时间轴转换成位图序列。 适合flash移动开发、 flash网游素材制作和优化、 flash stage3D材质...
Flash as3基于位图的碰撞检测实例,自己写的,有兴趣的话可以看看
24位彩图转为8位灰度图的C++代码,通过修改位图文件信息头来实现位图转换。
触摸屏位图,需要的看看交流。我也需要位图 触摸屏位图,需要的看看交流。我也需要位图
android 多位图转化为单色位图。32位深图转1位深图。24位深转1位
VC下彩色位图转单色位图,可实现截图,生成位图数据文件。
易语言位图句柄和位图数据转换源码,位图句柄和位图数据转换,NotifySys,运行时错误,取执行的文件名,位图句柄取数据,数据取位图句柄
用于嵌入式 位图 代码的生成 生产C语言位图代码 ,希望对大家有用。
易语言位图句柄取位图模块源码,位图句柄取位图模块,NotifySys,运行时错误,取执行的文件名,位图句柄取数据,数据取位图句柄,解锁内存块,释放内存块,取内存块长度,锁定内存块,删除对象,取屏幕句柄
位图操作支持库|位图操作支持库
在按钮上使用位图和文字在按钮上使用位图和文字
VS2010下,按ctrl键bmp位图定时移动,按->键齿轮图快速移动。
昆仑通泰触摸屏MCGS、MCGS Pro 位图可以直接使用。按钮,指示灯,水泵,阀门,管道等都有
VB 翻转放大位图 VB 翻转放大位图 VB 翻转放大位图