笔者今天发现导入cocostudio的ui界面时,会有部分控件出现错位的现象,后来我看了一下源码,发现是部分控件是没有继承

Layout类,导致不能设置控件位置造成,原因可以看看cocos2dx 源码的CCSGUIReader.cpp文件的函数:

Widget* WidgetPropertiesReader0300::widgetFromJsonDictionary(const rapidjson::Value& data)

的最后一段

if (!dynamic_cast<Layout*>(widget))
     {
                        if (child->getPositionType() == ui::Widget::PositionType::PERCENT)
                        {
                            child->setPositionPercent(Vec2(child->getPositionPercent().x + widget->getAnchorPoint().x, child->getPositionPercent().y + widget->getAnchorPoint().y));
                        }
                        child->setPosition(Vec2(child->getPositionX() + widget->getAnchorPointInPoints().x, child->getPositionY() + widget->getAnchorPointInPoints().y));
                    }
                    widget->addChild(child);

从代码中可以看出来,控件需要继承Layout类才能实现位置的设置,而UIPanel类不继承Layout类,所以不会进行位置设置,即使cocostudio有位置设置,

在游戏运行中也不会看到设置位置。

转载于:https://www.cnblogs.com/HemJohn/p/5140163.html

解决cocos2dx 3.x 导入cocostudio的ui界面出现错位问题相关推荐

  1. 【cocos2d-x】如何使用CocoStudio场景编辑器制作魔卡幻想

    1 CocoStudio 场景编辑器 使用 CocoStudio 场景编辑器来创建游戏场景,其中包含游戏 UI 与动画,来定制一个游戏主界面. 2 使用 CocoStudio 完成<魔卡幻想&g ...

  2. 解决无法将类型为“System.Web.UI.WebControls.HiddenField”的对象强制转换为类型的错误...

    解决无法将类型为"System.Web.UI.WebControls.HiddenField"的对象强制转换为类型的错误 2008-01-04 16:14 本文章将解决: 1.解释 ...

  3. 解决通过 Visual Studio 打不开 ui 文件的问题

    解决通过 Visual Studio 打不开 ui 文件的问题 在第一次使用 Visual Studio IDE 通过 Qt 平台来进行开发界面的时候,当双击 .ui 文件将其打开后,发现打开的 窗口 ...

  4. 解决idea maven的导入依赖过慢

    解决idea maven的导入依赖过慢的原因. <mirrors><!-- mirror| Specifies a repository mirror site to use ins ...

  5. springboot导入项目依赖报错_如何解决spring boot 项目导入依赖后代码报错问题

    如何解决spring boot 项目导入依赖后代码报错问题 2020-08-15  14:17:18 代码截图如图所示(由于本人问题已经解决,没来得及截图,所以在网上找了一张图片) ​ 针对图中所示的 ...

  6. Unity中UI界面颤抖解决方法

    Unity中UI界面颤抖解决方法 参考文章: (1)Unity中UI界面颤抖解决方法 (2)https://www.cnblogs.com/Study088/p/7290909.html 备忘一下.

  7. 【Cocos2d-x游戏开发】解决Cocos2d-x中文乱码的三种方法

    [Cocos2d-x游戏开发]解决Cocos2d-x中文乱码的三种方法 参考文章: (1)[Cocos2d-x游戏开发]解决Cocos2d-x中文乱码的三种方法 (2)https://www.cnbl ...

  8. 成功解决3dmax打开或导入模型文件的时候,出现文件打开失败

    成功解决3dmax打开或导入模型文件的时候,出现文件打开失败 目录 解决问题 解决思路 解决方法 (1).不是.max文件,

  9. 解决 com.sun.*包导入错误

    解决 com.sun.*包导入错误 com.sun.image.codec.jpeg.*导入错误如何解决: com.sun.*是受限制访问的API,Eclipse 默认把受访问限制的API设成了ERR ...

最新文章

  1. Matlab数据的可视化 -- 饼图
  2. 侍魂胧月传说服务器维护,侍魂胧月传说手游2021年6月2日停机维护更新详解
  3. 720不能建立远程计算机连接,有高手知道错误720:不能建立到远程计算机的连接这个问题怎么解决? 爱问知识人...
  4. 在PyPI上发布自己的python包
  5. HTML/CSS——子元素相对于父元素固定定位解决方案
  6. 2.2.1 MySQL基本功能与参数文件管理
  7. Jenkins FTP 上传
  8. rxjs fromEvent的用法
  9. ipsec ip替换_[windows]利用IPSec对指定的ip进行访问限制
  10. Qt工作笔记-主界面传输数据到附属界面(通过信号与槽非构造函数)
  11. 排序算法Java实现(快速排序)
  12. 从零开始编写自己的C#框架(11)——创建解决方案
  13. MeterSphere关联TAPD
  14. 报表开发工具ActiveReports实战应用教程——分组报表
  15. 芝诺志愿者走进养老院送温暖
  16. php mysql 插入图片_mysql中怎样插入图片
  17. Matlab统计图片中不同颜色小球个数
  18. unity小游戏的脚本
  19. Android 智能手机开发概述
  20. java中的package关键字

热门文章

  1. python计时器精度_在python中获得更精确的计时器
  2. java 密钥工厂 desede_20145212 实验五《Java网络编程》
  3. mysql数据类型分析_MYSQL数据类型分析整理
  4. 计算机应用基础教材编写建议,【计算机应用论文】计算机应用基础校本教材编写研究(共3136字)...
  5. java跨域权重_爱站权重查询 API 接口请求调用
  6. oracle数据库按照城市分组_大数据分组怎样才会更快
  7. python基础数据实例_Python基本数据类型及实例详解
  8. linux 7 vsftpd 配置,CentOS7 安装并配置使用vsftpd
  9. 回顾2021,展望2022
  10. 使用Python,OpenCV在视频中进行实时条形码检测