Scale9Sprite是一个非常方便的类,用这个类可以很好的处理图片的放大问题,指定了几个区域以后,可以使图片不失真的放大。
一个非常简单的使用例子:
// 第一个rc参数是整体大小 第二个rc参数是中间区域的范围 var sprTV = new cc.Scale9Sprite(res.TV_9png,cc.rect(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区域都没有拉伸,只对其他区域做了拉伸,这种拉伸的好处是,可以很好的处理各种圆角图片的拉伸问题,而不影响最终视觉效果。
原文链接:https://www.f2er.com/cocos2dx/344625.html