在quick-cocos2d-x中,当我们在拉伸图片的时候,往往使用setScale,但是这样拉伸往往使图片在边角显得有些模糊,那我们就可以使用CCScale9Sprite来进行图片的放大拉伸。
这里我找了一张示例图片a.png,是我自己随手画的一张png图片。用setScale大家都会对其进行拉伸,下面我就贴出自己的CCScale9Sprite的代码:
<span style="white-space:pre"> </span>local b = display.newSprite("a.png") local size = b:getContentSize() --获取图片的总尺寸 local rect = CCRectMake(0, 0, size.width, size.height) --获取CCScale9Sprite这种方式居中显示的区域尺寸(一共分成九个区域,这里指的是正中央的最大的那个区域~) local purpose = CCRectMake(30, 30, size.width - 30*2, size.height - 30*2) local a = CCScale9Sprite:create("a.png", rect, purpose) --设置最终图片显示的尺寸 a:setContentSize(CCSizeMake(200,200)) a:setPosition(display.cx, display.cy) self:addChild(a)
这种方式显示的图片应当是:
而setScale的效果我们肯定已经得到过了~
由此可见,两者对图片拉伸是不同的~
ps:我的测试环境是 2.2.5
github:https://github.com/Froyo91/Froyo91-quick-cocos2d-x-CCScale9Sprite