浅谈一下对cocos2d-x中九宫格精灵的简单理解和使用

首先,使用cocos new命令创建了一个cocos2d-x的C++项目和Lua项目,在生成的HelloWorld中写测试代码。

1.C++代码创建一个九宫格精灵

#include "ui/UIScale9Sprite.h"
using namespace cocos2d::ui;
//创建一个九宫格精灵
Scale9Sprite* sp = Scale9Sprite::create("res/frame_Description_b.png");
addChild(sp,1);
sp->setPosition(origin.x + visibleSize.width/2,  origin.y + visibleSize.height/2);
Size _size = sp->getContentSize();
sp->setCapInsets(Rect(20, 20, _size.width-40, _size.height-40));
sp->setPreferredSize(Size(300, 300));

2.Lua代码创建一个九宫格精灵

local layer = cc.Layer:create()
sceneGame:addChild(layer)
--创建一个九宫格精灵
local sp = ccui.Scale9Sprite:create('res/frame_Description_b.png')
local _size = sp:getContentSize()
sp:setCapInsets(cc.rect(20,20,_size.width-40,_size.height-40))
layer:addChild(sp)
sp:setPosition(origin.x+visibleSize.width/2,origin.y+visibleSize.height/2)
sp:setPreferredSize(cc.size(400,200))

在cocos studio中没有Scale9Sprite,但可以使用ImageView,给一个ImageView设置好图片资源后,打开九宫格,可以看到默认的一个内间距,如图

void setCapInsets(const Rect& rect)设置的矩形就是红框所表示的区域,有时九宫格精灵会变形,就是这个矩形设置的不正确,在一些不规整的图片进行九宫格缩放时容易出现这个现象。
九宫格其实就是4个角部分保持不变,中间的一块和相邻的4块进行叠加或者缩放,所以变大之后的精灵四角和原图保持了一致。

void setPreferredSize(const Size& size)改变九宫格的显示尺寸。其实在setCapInsets之后,setContentSize也可以改变九宫格的显示尺寸。

如果我在本文中有错误的观点,还请大家指教,多多包涵,共同交流,共同进步。

浅谈一下对cocos2d-x中九宫格精灵的简单理解和使用相关推荐

  1. 浅谈ARCGIS在测绘项目中的一般应用

    浅谈ARCGIS在测绘项目中的 一般应用 一.概述 众所周知,ARCGIS是由Esri公司生产的一款的GIS平台.问世至今,已升级数代,现在比较常用的是ARCGIS10.2的版本.由于其强大及全面的地 ...

  2. [原创]浅谈持续集成在测试中的应用

    [原创]浅谈持续集成在测试中的应用 今天抽空理了下思路,来谈谈持续集成在测试中的应用,关于持续集成的介绍,可以参见我之前写的 浅谈我对持续集成的理解. 闲话少说,简单先介绍下,持续集成在测试中应用的范 ...

  3. java执行jar中的main_浅谈java 执行jar包中的main方法

    浅谈java 执行jar包中的main方法 通过 OneJar 或 Maven 打包后 jar 文件,用命令: java -jar ****.jar 执行后总是运行指定的主方法,如果 jar 中有多个 ...

  4. python竞赛_浅谈Python在信息学竞赛中的运用及Python的基本用法

    浅谈Python在信息学竞赛中的运用及Python的基本用法 前言 众所周知,Python是一种非常实用的语言.但是由于其运算时的低效和解释型编译,在信息学竞赛中并不用于完成算法程序.但正如LRJ在& ...

  5. 计算机技术在排水领域的应用,浅谈计算机技术在市政给排水中的应用.doc

    浅谈计算机技术在市政给排水中的应用.doc 浅谈计算机技术在市政给排水中的应用 [摘要]随着科技的进步与时代的发展,计算机技术在各个领域与行业中得到了广泛应.应用计算机技术可以增加工作的科学性与准确性 ...

  6. 计算机基础中怎么评价,浅谈职校计算机基础教学中的教学评价

    浅谈职校计算机基础教学中的教学评价 在我们具体实施任务驱动法的教学过程中,教学评价是非常重要的环节.教学评价是计算机课 (本文共2页) 阅读全文>> 随着时代的发展,人们对高等教育发展的关 ...

  7. 浅谈iPhone和iPad开发中的图标设置

    浅谈iPhone和iPad开发中的图标设置 图标大小问题 我们的辛辛苦苦做出来的应用程序在iPhone上的表示仅仅是一个图标,对这个图标不可以不谨慎对待,不能因为大小不对头这些小问题而失真啊什么的. ...

  8. ajax参数中有加号,浅谈在js传递参数中含加号(+)的处理方式

    一般情况下,URL 中的参数应使用 url 编码规则,即把参数字符串中除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+). 但是对于带有中文的参数 ...

  9. 化学实验中计算机技术的应用,浅谈计算机在基础化学实验中的应用

    <浅谈计算机在基础化学实验中的应用.doc>由会员分享,可免费在线阅读全文,更多与<浅谈计算机在基础化学实验中的应用>相关文档资源请在帮帮文库(www.woc88.com)数亿 ...

最新文章

  1. 构建之法阅读笔记01
  2. js解决iframe跨域问题
  3. MATLAB句柄相关函数和代码示例(设置美化图表属性)
  4. 给25岁男人的忠告:有种责任感.
  5. 快手“连横”京东,是志同道合还是抱团取暖?
  6. Ubuntu 14.04 LTS 配置 Juno 版 Keystone
  7. q7goodies事例_Java 8 Friday Goodies:SQL ResultSet流
  8. avalon2学习教程11数据联动
  9. PHP cURL上传图片
  10. 概率论与数理统计【一】- 随机事件与概率(1):古典概型与几何概型
  11. SQL Server 中导入外部数据库文件
  12. android app邀请码,还在用邀请码邀请注册吗?落后咯!!!我家APP自带邀请码的
  13. ict中的it和ct_ICT.Social – IT专业人员的社交网络
  14. Tumblr 的架构演进过程
  15. C++ 坦克大战小游戏EGE图形界面
  16. Maximum Likelihood (MLE) Maximum a posteriori (MAP)的分別
  17. 炒股巴士股票入门基础知识|破发来自牛市的估值在熊市上卖
  18. 第一篇博客____望好风长吟
  19. LPC845-BRK开发板开箱
  20. 【计算机网络基础】-- OSI的七层模型和TCP/IP的五层模型

热门文章

  1. c语言休眠函数 vs,编纂C语言跨平台函数(以清屏和休眠函数为例)
  2. opencv 使用直方图匹配数字
  3. Shtudown命令的使用
  4. access数据库剔除重复项_如何处理access中重复内容去除?
  5. GSYVideoPlayer 使用‘小’心得之 改变放大和缩小的图标
  6. python中 的意思_Python中 * ** 的意思及使用与区别
  7. H3C--IBGP对等体--EBGP对等体 OSPF引入BGP路由实验(带实验代码)
  8. golang JSON读文件
  9. Python 计算从1-N(N可以任何数)内的素数(并行计算、多线程优化计算)
  10. 类的应用和对象 游泳池