Scale9Sprite是一个非常方便的类,用这个类可以很好的处理图片的放大问题,指定了几个区域以后,可以使图片不失真的放大。
一个非常简单的使用例子:
[cpp]
view plain
copy
- // 第一个rc参数是整体大小 第二个rc参数是中间区域的范围
- var sprTV = new cc.Scale9Sprite(res.TV_9png, cc.rect(0, 0, 26, 26), cc.rect(10, 10, 7, 7));
- sprTV.x = posMenuBtn.x;
- sprTV.y = posMenuBtn.y;
- sprTV.width = rcMenuBtnBB.width + 20;
- sprTV.height = rcMenuBtnBB.height + 20;
- this.addChild(sprTV, 5);
上面是原图
使用后效果如下:
具体的可以参加官方例子里的Scale9SpriteTest。
这里附上2张图,上面的是不适用Scale9Sprite放大的,下面的 是使用Scale9Sprite放大的。
对比可以发现,使用了Scale9Sprite的,ABCD区域都没有拉伸,只对其他区域做了拉伸,这种拉伸的好处是,可以很好的处理各种圆角图片的拉伸问题,而不影响最终视觉效果。
源引:http://blog.csdn.net/a102111/article/details/43236947