【独立开发者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);
运行结果如下(这里放大倍数不够大,如果更加大的话效果很明显):

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

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

否则出现下述错误:

#

参考文章:

cocos2dx 3.x Scale9Sprite的认识

cocos2dx基础篇(12)——点九图CCScale9Sprite

#

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-05 04:45:06

【独立开发者er Cocos2d-x实战 005】使用Cocos2dx Scale9Sprite使用的相关文章

【独立开发者er Cocos2d-x实战 004】使用Cocos2dx加载plist文件

在[独立开发者er Cocos2d-x实战 004]使用Cocos Studio制作plist文件中,我们已经知道如何制作plist,接下来就说说如何使用和加载plist文件. 代码如下: CCSpriteFrameCache * cache = CCSpriteFrameCache::sharedSpriteFrameCache(); cache->addSpriteFramesWithFile("Plist.plist"); CCSprite *room = CCSprite

【独立开发者er Cocos2d-x实战 003】使用Cocos Studio制作plist文件

在[独立开发者er Cocos2d-x实战 002]使用Cocos Studio创建帧动画中,我们已经知道如何创建帧动画,接下来就说说如何进行plist文件的制作/生成. 步骤如下: 创建一个工程CAnimal: 新建一个文件,类型选择合图: 导入图片资源: 合图导出: 查看合图文件: 查看文件: 温馨提示:我们将鼠标方法合图中的小图片上,就会显示图片名,如下: 版权声明:本文为博主原创文章,未经博主允许不得转载.

【独立开发者er Cocos2d-x实战 008】BMFont生成位图字体工具和Cocos2dx使用加载fnt文件

1.首先我们需要下载并且安装BMFont工具,下载地址如下:http://download.csdn.net/detail/chenqiai0/8899353(里面还有详细的使用文档,如果使用中有什么不明白请留言). 2.安装后,打开BMFont,界面如下,右边的列表是字体库 3.创建一个txt文件,然后输入你用到的文字(注意:保存的时候要用utf-8,否则软件无法识别) 4.接下来的操作请大家下载上述资源,然后按照pdf中讲解的步骤操作,肯定可以实现fnt文件的导出. 注意:需要我们注意的是在

【独立开发者er Cocos2d-x实战 006】使用Cocos2dx 实现截图功能

今天台风"灿鸿"来袭,博主默默在家码代码.废话不多说,今天我们要讲的就是截图. Cocos2dx把不同版本实现截图方式不同,我用的是Cocos2dx3.4版本.如果你的版本是Cocos2dx3.2以后的,都是可以用这个方式的,如果是Cocos2dx3.2以前,请参考: 比较Cocos2d-x v2.x与v3.x的截图功能 Cocos2d-x3.1及3.2实现截屏功能 cocos2dx之保存截屏图片 开门见山,直接上代码: const std::string strPath = &quo

【独立开发者er Cocos2d-x实战 012】Cocos2dx 2.2.6 CCTableView和CCTableViewCell详解

首先抛出一个问题:TableView一个Cell存在多个数据源(例如:Sprite),那应该如何区分点击的是哪一个精灵. 如果对上述描述还是不明白的朋友,请见详细描述:请点击. 如果大家使用现有的Cocos2dx实现,个人感觉是行不通的,因为Cocos2dx认为一个Cell就是一个点击,但是我们现在需要的是一个Cell存在多数据源,这样就需要我们自定义TableView和TableViewCell. 首先我创建三个自定义的类: class MyCustomCell: public CCSprit

【独立开发者er Cocos2d-x实战 013】Cocos2dx 网络编程实战之星座运势

本篇文章主要内容:jsoncpp的使用,Cocos2dx网络编程,聚合数据星座运势接口使用. 1.jsoncpp使用: jsoncpp的生成请参考博客:Jsoncpp使用详解以及链接问题解决 2.聚合数据星座运势接口使用: 我们先登上聚合数据官网,申请相关的数据后,就可以得到APPKEY等信息,调试如下: 3.Cocos2dx网络编程:源码下载请点击(源码中包括jsoncpp文件) #include "HelloWorldScene.h" #include "CocoStud

【独立开发者er Cocos2d-x实战 001】csb文件导出和加载

使用cocos studio进行资源文件导出: 然后在cocos工程中进行加载csb文件: auto myLayout = CSLoader::createNode("/res/Desktop/Layer.csb"); addChild(myLayout); 运行时遇到一个问题-- cocos studio编辑和cocos2dx运行不一致: 上述问题是由于exe文件找不到资源,后来发现我们需要将相关的资源copy到Resources目录下, 同时白色字体的解决方法是在cocos stu

【独立开发者er Cocos2d-x实战 009】Cocos2dx 菜单项CCMenu使用

Cocos2dx中的菜单用CCMenu/Menu类来实现,该类是一个容器,用来装载各种菜单项,用于菜单项可以是图片.系统字体等. 理论就不说了,先上代码: CCMenuItemToggle* item1 = CCMenuItemToggle::createWithTarget(this, menu_selector(HelloWorld::menuItemToggle), CCMenuItemFont::create("on1"), CCMenuItemFont::create(&qu

【独立开发者er Cocos2d-x实战 007】使用Cocos2dx UserDefault.xml

这篇博客是由于下述问题产生的 -(代码1): std::string str = FileUtils::getInstance()->getWritablePath(); CCLOG(str.c_str()); UserDefault::getInstance()->setStringForKey("keyqq11", "value11"); FileUtils::getInstance()->setWritablePath("D:/&q