Cocos2dx 3.0正式版本UI解析错乱解决方案

来源:互联网 发布:浙江c语言二级考试时间 编辑:程序博客网 时间:2024/05/23 07:23
最新版本Cocos2d-x 本想给大家带来完美的体验,但由于测试的准备仍不够充分,导致了部分UI在游戏中的显示和编辑器里不一致。 
 
问题详情: 
 
今天经过几位用户提供的示例工程发现,如果Ui界面含有父节点与子节点的锚点设置不一致,则会在解析时出现显示错位的问题。 
编辑器中的样子 

  
3.0版本显示的效果: 

  
可以看到,子节点的位置明显偏移。 
 
经过查验,这个问题是由于Cocos2d-x3.0版本和Cocos2d-x2.2.x版本底层差异过大,但解析方面未做到足够的兼容性导致的。 
 
目前我们的工程师已经紧急修复了该问题,并将代码临时提交到了: 
https://github.com/cocos2d/cocos2d-x/pull/6403/files 
 
主要修改了一下两行: 
 
百分比模式下: 
child->setPositionPercent(Point(child->getPositionPercent().x + widget->getAnchorPoint().x, child->getPositionPercent().y + widget->getAnchorPoint().y)); 
正常模式下: 
child->setPosition(Point(child->getPositionX() + widget->getAnchorPointInPoints().x, child->getPositionY() + widget->getAnchorPointInPoints().y)); 
 
这里主要是添加了父节点的偏移量,如果大家使用GUIReader读取json文件修改以上方法就可以解决界面错误的问题。 
如果大家需要使用代码设置坐标,您可能需要参考上面的方法修改坐标设置方法。 
0 0
原创粉丝点击