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

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

概述浅谈一下对cocos2d-x中九宫格精灵的简单理解和使用 首先,使用cocos new命令创建了一个cocos2d-x的C++项目和Lua项目,在生成的HelloWorld中写测试代码。 1.C++代码创建一个九宫格精灵 #include "ui/UIScale9Sprite.h"using namespace cocos2d::ui;//创建一个九宫格精灵Scale9Sprite* sp

浅谈一下对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,_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中九宫格精灵的简单理解和使用全部内容,希望文章能够帮你解决浅谈一下对cocos2d-x中九宫格精灵的简单理解和使用所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1074544.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存