Cocos Studio 子节点锚点偏移问题解决

来源:互联网 发布:python内置函数手册 编辑:程序博客网 时间:2024/05/29 14:45

环境:MAC  CocosStudio_v1.0.0.0_Beta


在学习Cocos Studio 的时候,设置子节点的锚点时,所有ui上的子节点全部跑到(0,0)去了,其实是个bug, 下次版本估计就会修复,目前的解决方法是自己修改下源码或者同步下Github上的项目。

找到下载解压后源码  cocos/editor-support/cocostudio/ActionTimeline/CCNodeReader.cpp 文件

头文件加上:

#include "ui/CocosGUI.h"
再找到240行的if语句,添加下面的if语句:

Node* child = loadNode(dic);             if (child)              {if(dynamic_cast<Widget *>(node)&& !dynamic_cast<Layout*>(node)&& dynamic_cast<Widget*>(child)){auto widgetChild = dynamic_cast<Widget*>(child);if (widgetChild->getPositionType()==ui::Widget::PositionType::PERCENT){widgetChild->setPositionPercent(Vec2(widgetChild->getPositionPercent().x+node->getAnchorPoint().x,widgetChild->getPositionPercent().y +node->getAnchorPoint().y ));}widgetChild->setPosition(Vec2(widgetChild->getPositionX() + node->getAnchorPointInPoints().x ,widgetChild->getPositionY() + node->getAnchorPointInPoints().y));}                 node->addChild(child);                 child->release();             }

记的你之前新建的项目里面也要按照以上方法修改CCNodeReader.cpp 文件,也可以重新生成一个项目。这样就解决了。
参考来源:https://github.com/cocos2d/cocos2d-x/pull/7519/files

0 0
原创粉丝点击