visibleSize不准确

  • Creator 版本: 3.5.1

  • 目标平台: 原生微信内置浏览器

  • 重现方式:

  • 首个报错:

  • 之前哪个版本是正常的:

  • 手机型号: redmi k40

  • 手机浏览器: 微信内置浏览器

  • 编辑器操作系统: miui12.5.19

  • 重现概率: 100%

适配策略:fixed_width
写了个topPrefab,添加了widget,left = 0, right = 0.跟canvas一样大
topprefab有个节点scoreNode, 添加widget, left=20.
但是scoreNode在显示中左边距<20。
然后使用visibleSize手动设置topPrefab的大小。结果scoreNode在显示中左边距<20。跟使用画布显示一致。
在一系列调试中,我发现适配策略:fixed_width,canvas的width跟手机屏幕的宽不一致,上下有黑边我知道这是适配的策略。但是为什么width不一样?而且visibleSize的width也是大于手机显示屏幕的宽。visibleSize:返回视图窗口可见区域尺寸?
visibleSize的宽和canvas的宽为什么会大于手机屏幕可视区域的宽?
他们的宽等于:
适配策略为fixed_height,对宽进行缩放的值。无语了。适配策略是fixed_width,但是得到了这么一个宽。现在无论添加widget还是设置大小位置都不对。

topTransform.setContentSize(new Size(this.viewSize.width-60, 100));

topTransform.setContentSize(new Size(this.viewSize.width-50, 100));

大于屏幕显示50的宽

有人能回答我不,为什么visibleSize:返回视图窗口可见区域尺寸跟手机屏幕不一致。打包web手机端。微信内置浏览器打开的。
不懂纠结啊,其他的framesize又不能用。

screen.windowSize
这个呢?

不行,比visiable还大,document.clientWidth也不行,一样大 :persevere:

顶,还有什么方法能获取到web页面大小或者显示屏幕大小

试试:
var deviceResolution = Size(window.screen.width * window.devicePixelRatio, window.screen.height * window.devicePixelRatio);