cocos2d-x 3.17.2 调用cocos studio发布的csb文件,遇到按钮图片显示不正常问题
由于代码开发UI效率较低,有时候需要用cocos studio来制作场景,再在C++中调用
遇到一个问题被忽略了,添加一个Button按钮,在游戏中动态的修改按钮的图片
经过测试,发现很多问题
环境说明:
cocos2d-x版本: Cocos2d-x 3.17.2
Android编译器: Android studio 3.5.3 用的是cmake方式编译
C++编译器: Visual studio 2019 社区版
Java版本: jdk1.8.0_91
SDK API版本: API 28
NDK版本: android-ndk-r19c
问题一:
Button按钮图片在运行时使用loadTextures动态读取本地png文件时会显示不正常,如:
button->loadTextures("res/1.png","res/2.png","res/3.png",ui::Widget::TextureResType::LOCAL);
这时候图片在Windows下不显示,在Android下显示都是黑色的,有时候又能显示一两张,其他的不会显示
解决方法:
使用精灵框架SpriteFrameCache
先用 TexturePacker 将图片1.png、2.png、3.png等等打包成一个.ccz + .plist 或 .png + .plist文件
比如我打包的文件为:image.png、image.plist,放在res文件夹下
不懂TexturePacker可以百度一下教程,我的是TexturePacker_3.0.9 破解版
在场景init初始化位置加入:
mSpriteFrame = SpriteFrameCache::getInstance();
mSpriteFrame->addSpriteFramesWithFile("res/image.plist");
在析构位置加入:
mSpriteFrame->destroyInstance();
在要使用图片的位置加入:
ui::Widget::TextureResType::PLIST 表示从精灵框架中根据文件名读取
button->loadTextures("1.png", "2.png", "3.png", ui::Widget::TextureResType::PLIST);
这样操作就能正常的动态显示图片了
问题二:
在动态的修改Button按钮后你会发现按钮随便大小没有改变,但是图像却变得扭曲、变形、显示不正常
如果动态的图片比原来的大,按钮也变大了可以在设置图片之后代码处重新设置一下大小
这个问题找了好久,最后发现原来是cocos studio在作怪,需要把九宫格取消,问题就解决了
cocos2d-x 3.17.2 调用cocos studio发布的csb文件,遇到按钮图片显示不正常问题相关推荐
- 在 Lua 里 使用 Cocos Studio 导出的 .csb 文件
1. 加载 节点到场景 第一种方法 local scene = cc.CSLoader:createNode("scene.csb") self:addChild(scene) ...
- cocos studio 制作csd动画文件 并 加载使用嵌套动画
直接使用cocos studio 制作动画,动画过程细腻,可以根据自己的想法方便调节.并且可以随意取用. 本次记录是我需要一个头像动画,放在不同的头像上,而且头像的大小各不相同. 解决方案就是: 1. ...
- Cocos2d-x 3.8.1+Cocos Studio 2.3.2捉虫记之控制场景文件中的骨骼动画
Cocos2d-x 3.8.1+Cocos Studio 2.3.2捉虫记之控制场景文件中的骨骼动画 引子 这段时间一直努力在把早期版本的拇指接龙游戏(Cocos2d-x 2.2.3+CocoStud ...
- Cocos Studio学习笔记第一篇--界面
大前天也就是周二被人问道:"对Cocos Studio2.0以后版本用法的了解."当时我一时之间没法回答,因为Cocos Studio1.6我以前用过很长时间,2.0改版以后我知道 ...
- 植物大战僵尸破产版--cocos studio
采用Cocos引擎cocos studio开发 平台为Android,开发语言为C++: 时间: 2020.4.29-5.14 游戏说明 这是一款具有策略性的游戏.背景是僵尸入侵你的家,你需要用具有攻 ...
- Cocos Studio的动画系统介绍
Cocos Studio介绍Cocos Studio是一套基于Cocos2D-x的免费游戏开发工具集,它能帮助开发者快速创建游戏资源,将大部分繁琐的游戏开发工作使用编辑器来快速制作,进一步帮助游戏开发 ...
- 用Cocos Studio 2.3.2制作UI界面中控件不再支持运行3d动作特效
用Cocos Studio 2.3.2制作UI界面中控件不再支持运行3d动作特效 cocos2d-x + cocos studio无疑是当下二维手游开发的利器,但是在从旧版本向新版本的升级过程中,坑 ...
- cocos studio和cocos creator关系
Cocos Studio即以前的CocoStudio,功能上进一步增强:CocosCreator则是一个立足于跨平台javascript手游开发的全新平台.使用js开发的同学可能还记得CocosIDE ...
- VB:使用Visual Studio 2010中的VB语言工具箱DataGridView调用SQL数据库Database的表格文件
VB:使用Visual Studio 2010中的VB语言工具箱DataGridView调用SQL数据库Database的表格文件 目录 问题探究 图文教程 问题探究 使用Visual Studio ...
- 我所理解cocos2d-x 3.6 lua --使用Cocos Studio
Cocos是触控科技推出的游戏开发一站式解决方式,包括了从新建立项.游戏制作.到打包上线的全套流程. 开发人员能够通过cocos高速生成代码.编辑资源和动画,终于输出适合于多个平台的游戏产品. Coc ...
最新文章
- Smarty vs Twig: 性能对比
- php中退出怎么写,php中退出登录怎么写
- oracle 提示i386,新手请教:RAC安装时检测i386软件包未安装,这个怎么处理?
- 用MATLAB编程正弦稳态相量图,matlab课程设计--利用MATLAB对线性电路正弦稳态特性分析...
- cf1523A. Game of Life
- 不重启docker容器修改 容器中的时区
- 没有代码天赋的我,先退出了
- windows定时自动运行R脚本的正确姿势
- SIM-MICRO-SIM- NANO SIM 区别
- 华为光猫 HN8346X6 超级管理员密码获取方法,超简单
- 视频教程-Linux C语言编程基础视频精讲-C/C++
- python Pystaller 将python文件打包成exe
- 练习绕口令快速提高语言表达能力(收藏)
- Matlab 中 residuez函数的使用
- Eric6中使用PYQT5在窗口显示图片
- 探索汇率变动与股票价格的关系
- 中国微量营养素市场趋势报告、技术动态创新及市场预测
- python 图像格式转换文件夹下 jpg 转 bmp | 目录遍历
- 狄克斯特拉算法 - 学习整理
- 【SpringBoot项目实战+思维导图】瑞吉外卖①(项目介绍、开发环境搭建、后台登陆/退出功能开发)
热门文章
- 一碗泡面背后的努力,康师傅连续十次斩获“食安管理十强企业”
- html页面调用高德地图,html前端使用高德地图入门教程
- Linux性能调优,从优化思路说起
- java程序读取文件_java,编写一个程序,可以读取文件数据
- 股票涨跌速率对应操作策略和后市走势分析
- control reaches end of non-void function
- 消息传输协议-MQTT篇-QoS
- win10复制粘贴不能用解决方法汇总
- csapp lab环境搭建及lab1wp
- www.etiger.vip DEVC++练习(入门)