【独立开发者er Cocos2d-x实战 005】使用Cocos2dx Scale9Sprite使用

CCScale9Sprite类,有人叫它点九图,有人叫它九宫图,有人叫它九妹图。现在我们就来对他进行简单的使用。
CCSpriteFrameCache * cache = CCSpriteFrameCache::sharedSpriteFrameCache();
cache->addSpriteFramesWithFile("Plist.plist");

CCSprite *room = CCSprite::createWithSpriteFrameName("6.png");
CCPoint oPoint = room->getContentSize();/* 66,27 */
room->setPosition(ccp(100, 100));
room->setScale(4.0f);
addChild(room);

Scale9Sprite *poScale9Sprite1 = Scale9Sprite::createWithSpriteFrameName("6.png");
poScale9Sprite1->setPosition(ccp(100, 300));
poScale9Sprite1->setContentSize(CCSizeMake(oPoint.x * 4, oPoint.y * 4));
addChild(poScale9Sprite1);

Scale9Sprite *poScale9Sprite2 = Scale9Sprite::createWithSpriteFrameName("6.png");
poScale9Sprite2->setPosition(ccp(100, 500));
poScale9Sprite2->setCapInsets(CCRect(3,3,oPoint.x - 3, oPoint.y - 3));
poScale9Sprite2->setContentSize(CCSizeMake(oPoint.x * 4, oPoint.y * 4));
addChild(poScale9Sprite2);
运行结果如下(这里放大倍数不够大,如果更加大的话效果很明显):

【独立开发者er Cocos2d-x实战 005】使用Cocos2dx Scale9Sprite使用_第1张图片

在使用CCScale9Sprite时我们需要特别注意设置capInsets:

【独立开发者er Cocos2d-x实战 005】使用Cocos2dx Scale9Sprite使用_第2张图片

由于CCScale9Sprite属于扩展,在extensions文件夹下,所以我们使用中,需要加上相应的头文件和名空间:
#include "../extensions/cocos-ext.h"
USING_NS_CC_EXT;
同时也要添加相关路径:

【独立开发者er Cocos2d-x实战 005】使用Cocos2dx Scale9Sprite使用_第3张图片

否则出现下述错误:

这里写图片描述

#

参考文章:
cocos2dx 3.x Scale9Sprite的认识
cocos2dx基础篇(12)——点九图CCScale9Sprite

#

你可能感兴趣的:(Sprite,Extensions,独立开发者er,Scale9,capInsets)