在游戏开发中 我们使用了固定分辨率的做法将分辨率固定在2:1的条件下
在1.9.2版本中 我们是如下设置的:

然后在场景中添加了一个 超大的渲染对象 size 为 2000 * 2000 ,如下图所示
我们将模拟器的大小设为1000 * 1000,运行结果如下
.
我们可以看到,多余的地方被补上了黑边.也就是说,我们可以简单的认为在做一个固定分辨率比率的游戏.如果渲染设备不适配该比例的话,canvas 会通过 上下 或者 左右补黑边的形式,将 实际渲染区域锁定在我们希望分辨率比率下
在游戏开发中 我们使用了固定分辨率的做法将分辨率固定在2:1的条件下
在1.9.2版本中 我们是如下设置的:

然后在场景中添加了一个 超大的渲染对象 size 为 2000 * 2000 ,如下图所示
我现在还想 继续开发固定分辨率的问题 该怎么处理
这是升级2.x的变化之一,貌似文档还是哪个帖子里有提过。
如果你想得到与1.9.x相同的效果,你可以给根Canvas节点加一个Mask组件。
加mask 会影响性能啊 并且 很多地方会引起新的问题的啊
有什么好办法嘛
我也想知道这个问题
顶上来 希望有人回答
有一样的问题, 顶起来.
canvas加mask组件是官方的解决方案吗?
其实面对浏海屏之类要把黑的地方填上图片之类的, 2.x版本这个做法合理啦.
在2.0中选择fitHeigh和fitWidth时,canvas会将视图撑满,此时你的做法就不能用一张2000x2000的图来做背景了,你可以让背景添加widget组件跟随Canvas的分辨率拉伸,使用这个方案在1.9和2.0上效果都是一致的。
想问下如果想要达到1.x版本那样, 在选择fitHeight跟fitWidth的时候, canvas(设计分辨率)以外的内容不可见, 在2.x版应该怎么设置?
在1.x版本的时候是这样的
根据楼上说的, 在canvas加上mask组件, 这个测试过可行(2.x版本跟1.x版本就一样了), 所以官方也是建议这么实现是吗?
2.0 改变了适配策略的实现,保持 DOM Canvas 全屏,通过设置 GL Viewport 来让场景内容居中,并处于正确位置。这样做带来的变化是,微信小游戏中比例完全正确,但是场景范围外的内容仍然是可见的。
是的,可以使用mask来做。
setFrameSize 小游戏上直接失败
貌似是 微信 小游戏的问题 才修改成这个样子的喽?
2.0版本有办法实现1.9版本那种场景范围外不可见么,除了mask组建