cocos2d js 3.2使用Scale9Sprite 九宫图

Scale9Sprite是一个非常方便的类,用这个类可以很好的处理图片的放大问题,指定了几个区域以后,可以使图片不失真的放大。


一个非常简单的使用例子:

        // 第一个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放大的。

cocos2d js 3.2使用Scale9Sprite 九宫图_第1张图片

cocos2d js 3.2使用Scale9Sprite 九宫图_第2张图片


对比可以发现,使用了Scale9Sprite的,ABCD区域都没有拉伸,只对其他区域做了拉伸,这种拉伸的好处是,可以很好的处理各种圆角图片的拉伸问题,而不影响最终视觉效果。



你可能感兴趣的:(cocos2d js 3.2使用Scale9Sprite 九宫图)