flex中对于位图的九宫格 scale9Grid使用方法
发布时间:2020-12-15 04:11:59 所属栏目:百科 来源:网络整理
导读:最近做游戏,发现flash里位图是无法使用scale9Grid这个属性,没办法,只好自己写了一个,原理很简单,用程序把位图切成九块,装里一个Sprite里,然后重写Sprite的width和height这两个方法,根据改变大小来重新设置位图的各个位置…这样就实现了位图的不变形缩放….
最近做游戏,发现flash里位图是无法使用scale9Grid这个属性,没办法,只好自己写了一个,原理很简单,用程序把位图切成九块,装里一个Sprite里,然后重写Sprite的width和height这两个方法,根据改变大小来重新设置位图的各个位置…这样就实现了位图的不变形缩放….
ps:近期我会把以前做的一些小东西的源码放出来,供大家学习使用… 严重声明,,, 发现好多人都不知道这个问题,,用FLASH编译,位图使用scale9Grid也没用,
二、哪些时候会无效?
1、只对矢量图起作用,对图片无效。解决办法参考:? http://bbs.blueidea.com/viewthread.php?tid=2915069? 2、对Shape对象使用scale9Grid,有效。但是如果用Shape.graphics.beginBitmapFill (new BitmapData());//仅用了一个BitmapData对象填充Shape对象后,无效!? 3、对Sprite对象使用scale9Grid:? (1)仅对Sprite对象下的“图形元件”和“直接绘制的形状”有效。? (2)对Sprite对象下的Sprite对象,无效!? (3)对Sprite对象下的“图形元件”,如果该“图形元件”内仅包含另个Sprite对象,依然无效。? 4、参考博客:scale9Grid – When it works and when it does not? http://www.ovidiudiac.ro/blog/2009/05/scale9grid-work-and-fail/? 三、Flex中使用Embed标签?
Embed(source="track.png",scaleGridTop="20",scaleGridLeft="7",scaleGridRight="9",scaleGridBottom="80");? 四、创建一个具有九宫格功能的Bitmap? http://flex2.group.iteye.com/group/blog/513064? 五、推荐http://bbs.9ria.com/thread-47414-1-1.html(第三个页面打不开,郁闷)?
[Embed(source="ee.gif",scaleGridTop="10",scaleGridBottom="90",scaleGridLeft="10",scaleGridRight="90")]
本文转载自:
http://blog.sina.com.cn/s/blog_456a32b901011nxg.html
private var abe:Class; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |