creator创建的场景在cocos2dx-c++中的使用的UI元素排版问题

工程文件中使用的分辨率适配策略为PIXED_HEIGHT,设计分辨率为(480,320),测试完后得到修正的设计分辨率为(427,320)。而在creator中使用的设计分辨率为(480,320),导入C++工程文件中不会自动修正,导致右边部分无法显示。不能自动适配屏幕分辨率,怎么办~~


为什么会有这个修正的分辨率

因为适配策略PIXED_HEIGHT,为了充满屏幕,保持设计分辨率高度不变,自动修正设计分辨率宽度啊。

你没有挂载Widget组件吧,这2个挂上去应该没问题吧

挂了啊,每个都挂了,都是靠边的,只是因为这个适配问题,右边超出屏幕了看不到。

那你屏幕现在宽高是多少

这个界面宽高是固定的么,还是说可以拉伸的

屏幕实际分辨率为(1024,768),设计分辨率为(480,320),自动修正后为(427,320)。
creator中用的设计分辨率(480,320),不会自动修正,所以在屏幕中显示大小为(1152,768),宽度就超出了啊。关键是有啥解决办法~~~不然这creator创建的场景用不了啊。

creator里面设置成这样行么?

关键在于不能自动适配屏幕啊,换个屏幕大小又不行了。不能每次换个屏幕大小,就改分辨率吧。

你所有节点应该都是挂载在canvas下面的,你把你的背景图也加一个widget组件,然后上下左右都勾上,这样你上面的一些UI小控件不论是挂载在canvas下面,还是背景图下面都会适配了,你试一试

你的每一个需要适配的UI都要添加一个widget控件,这样你不管切换哪个分辨率都可以完美适配

没用的哦,兄dei,试过了都。creator里的适配相当于cocos2dx里的SHOW_ALL,在一个方向上铺满。一个方向留黑边。

分辨率是适配高,在浏览器运行效果:

打印出适配后分辨率:
二:适配策略是showAll:,运行效果:
打印适配后分辨率:,这种showAll的才会留黑边
这怎么能说没效果呢

不好意思,我之前加widget组件的时候没注意没打上勾,测试后设计分辨率的确没问题了,能自动修正,模拟器也正确显示。但是导入到C++工程里,显示的还是原来大小。


感觉导出来的资源里widget组件没起作用。

1赞

之前 Widget 组件动态布局是不支持,现在提了一个 PR,支持 Widget,要不要来尝鲜

由于 Widget 在 Creator 和 Cocos2dx 概念不一致,导入到 2d-x 后额外插入了一个 Layout 节点做布局,有一些特殊操作情景支持不了,不过楼主的要求是可以实现的,布局的时候有一些注意事项,看下 PR 的说明

https://github.com/cocos2d/creator_to_cocos2dx/pull/160