提个关于 canvas resize 功能的问题。
测试版本
v3.3.2 && v3.4.2 && v3.5 社区版
测试环境
macOS 10.12 + chrome
测试方式
- 新建个空项目
- 新建个
scene - 随便加个
3d cube啥的,只是为了方便演示
然后就直接网页运行就可以
- 这里就是简单的测试 canvas 缩放时候游戏内容是否跟着缩放
测试结果
v3.3.2 在缩放浏览器的时,canvas 游戏内容也会根据策略,正常缩放
v3.4.0 v3.5 在缩放浏览器的时,canvas 游戏内容不会缩放
视频:
resize.mp4.zip (438.8 KB)
线索
虽然没有细看,但是也提供一下大致的线索:
- 对比看了
3.3.2和v3.4.0+在screen-adpter.tsview.ts做法上变换很大 -
v3.4.0+在游戏启动时,screen-adpter.ts中的_updateContainer会先触发一次this.emit('window-resize');,但是这个时候view.ts里的screenAdapter.on('window-resize')还没执行
- 游戏启动后,缩放浏览器,
screen-adpter.ts中_updateContainer不会再触发window-resize了,因为那个// Cache Test部分代码,永远不会进去了
- 试着把这个
// Caches Test强制执行,这时候view.ts就会执行_updateAdaptResult了。但是效果还是错的
后面就没有细看了,想问下这个大概是什么问题导致的,这个功能应该还是很基础的。








