cocos2d-x Scale9Sprite的使用方法 lua篇20200421

这里简单记录一下Scale9sprite的使用方法,其实使用这个方法主要是用来拉伸图片,好处就是该方法拉伸的程度不会像setScale方法这样严重扭曲变形。而是将一个纹理分为九个部分,也就是九宫格,上图: 
 
将图片为9个部分,拉伸的情况下1,3,7,9 不会拉伸,2,8部分水平方向拉伸,4,6部分竖直方向拉伸,5两个方向都会拉伸,这样纹理就不会扭曲变形。 
下面,贴出代码看一下九宫格怎么使用

注意:在为九宫格设置参数时候,一定要在原图的基础上,不要在contentSize上设置,这里踩了一下坑,因为这个精灵就是靠设置contentSize来拉伸的,自然不能在这个上面设置参数。
sprite = cc.Scale9Sprite:create("CommonShandow1.png") --1
sprite:setCapInsets(CCRectMake(0,0,571,26))  --2
sprite:setContentSize(cc.size(800, 60))  --3

1句用来创建这个精灵 
2句用来设置“5”的大小,CCRectMake(0,0,571,26),0,0为“5”的左下角,571,26为“5”的宽、高 
3句用来设置最终拉伸的状况

下面是明显的例子

self._frame = cc.Scale9Sprite:create("bg11_1.png")
self._frame:setCapInsets( CCRectMake(10, 10, 46, 34) );
self._frame:setContentSize(CCSizeMake(CELL_WIDTH,CELL_HEIGHT))

这个例子标明4个角的长宽都为10像素(ps:纹理大小为66*54)

参考文章: 
http://yannickloriot.com/library/ios/cccontrolextension/Classes/CCScale9Sprite.html 
http://blog.csdn.net/nynyvkhhiiii/article/details/12782249
https://blog.csdn.net/u011040361/article/details/48602847

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值