cocos2dx 3.2 Scale9Sprite点九图
cocos2dx 3.2 Scale9Sprite点九图
本文部分转载至
cocos2dx 3.x Scale9Sprite的认识
1. Scale9Sprite 认识
Scale9Sprite 是一张可拉伸的精灵。只要给他设置一下大小,它就能自动拉伸。
2. Scale9Sprite的使用
1 #include "GUI/CCControlExtension/CCScale9Sprite.h" 2 3 USING_NS_CC_EXT; 4 5 bool HelloWorld::init() 6 { 7 ////////////////////////////// 8 // 1. super init first 9 if ( !Layer::init() ) 10 { 11 return false; 12 } 13 14 Size visibleSize = Director::getInstance()->getVisibleSize(); 15 Vec2 origin = Director::getInstance()->getVisibleOrigin(); 16 17 // 使用普通图片加载 18 Sprite *sprite = Sprite::create("button.png"); 19 sprite->setPosition(Vec2(visibleSize.width / 2, visibleSize.height - 100)); 20 this->addChild(sprite); 21 22 // 使用 CCScale9Sprite 点9图 23 Scale9Sprite *scale9Sprite = Scale9Sprite::create("button.png"); 24 scale9Sprite->setPosition(Vec2(visibleSize.width / 2, visibleSize.height * 0.3)); 25 this->addChild(scale9Sprite); 26 // 使图片拉伸 27 scale9Sprite->setPreferredSize(Size(visibleSize.width * 0.8, visibleSize.height * 0.3)); 28 scale9Sprite->setCapInsets(Rect(10, 10, 8, 8)); 29 30 31 return true; 32 }
运行结果:
3. Scale9Sprite运行出现错误解决方法
(1)无法打开包括文件:“extensions/cocos-ext.h”: No such file or directory
解决方案:在项目上右键选择【属性】->【c/c++】->【附加包含目录】,编辑【附加包含目录】在最后添加$(EngineRoot),点击【确定】按钮。
(2)1 个无法解析的外部命令
出现这个问题的原因,是由于没有引用libExtensions库。
如何引用libExtensions库呢?
首先,在解决方案上右键,选择【添加】->【现有项】,选择cocos2d/extensions,点击【确定】按钮。
然后,在项目上右键,选择【引用】,在引用页面选择【添加新引用项】,将libExtensions勾选上,点击【确认】按钮。