九宫图,啥意思就不说了,直接干
用的是官方的图,记住,一定要将图合并成plist的加载才可以,直接加载png文件会有BUG
我使用的是tests中资源中Images中的blocks9ss.plist文件
因为负责处理九宫图的类在extensions中,所以,我们先要把
看图右键解决项目->添加->现有项目
在你的工程下的cocos2d文件夹下找到这个
右键你的项目->属性
在框架和引用项中导入库
然后把路径添加一下,不然库文件找不到路径就完了
现在配置好了,就可以直接使用了
我使用的图是这个样子的,
长和宽都是96像素的,这个值很有用
记得加上这个
#include "cocos-ext.h"
USING_NS_CC_EXT;
SpriteFrameCache::getInstance()->addSpriteFramesWithFile("blocks9ss.plist");
Scale9Sprite* s9s = Scale9Sprite::createWithSpriteFrameName("blocks9.png",Rect(16,15,48,49));
s9s->setContentSize(Size(96*3,96*3));
s9s->setPosition(Point(origin.x + visibleSize.width/2,origin.y + visibleSize.height/2));
this->addChild(s9s);
代码中,重要的地方Rect(16,15,48,49)和 Size(96*3,96*3)这两个了,
Size(96*3,96*3) 好说,96的意思是像素值,图片的长和宽都是96像素,所以这里的意思就是长变成原来的3倍,宽变成原来的3倍
Rect(16,15,48,49) 的意思如下,运行后图片如下图
看明白没,前面的16,15是确定x,y坐标,表示坐标16,15这块的图不放大,后面的48,49表示需要拉伸的长宽,在x轴上,坐标15像素之后的48个像素都是需要拉伸的,那么还剩下32像素的图片怎么办,不拉伸呗,Y轴同理由