haxe - Heaps.io:h2d.Scene.setFixedMode 没有效果
问题描述
在下面的代码中,s2d.setFixedSize()
没有任何效果。场景的大小不会改变,调整屏幕大小仍然会改变它。
class Main extends hxd.App {
var bgTile : h2d.Tile;
override function init() {
s2d.setFixedSize(500, 500);
bgTile = h2d.Tile.fromColor(0xFFFFFF, s2d.width, s2d.height);
new h2d.Bitmap(bgTile, s2d);
}
override function update(dt:Float) {
}
static function main() {
new Main();
}
}
解决方案
很可能你误解了这个函数的作用。(但这是可以理解的,因为文档是以模棱两可的方式编写的)
当你打电话给setFixedSize
你做两件事:
- 您设置
s2d.width
并s2d.height
成为您在函数调用中设置的静态值。 - 由于
RenderContext
操作方式的原因,如果s2d
大小与窗口大小不匹配,它会被拉伸以填满整个屏幕。
即使调整窗口大小,您很可能希望它不会缩放并保持静态大小。目前是不可能的。声明它防止自动调整场景大小的状态的文档setFixedSize
,它确实做到了,通过拉伸场景而不是调整它的大小以匹配窗口大小。(是的,虽然它按照它说的做,但很容易误解)
有一个 PR 待定,它会重新处理s2d 的缩放,这将弃用setFixedSize
并为一般缩放提供更好的解决方案。
推荐阅读
- javascript - 为什么在 React 中使用事件时需要绑定
- android - 如何使颤动的androidview背景透明或设置androidview背景?
- google-sheets - 谷歌电子表格上的 Column1+Column2
- c# - 在 Asp .net core Web Api 中接受 x-www-form-urlencoded
- angular - Angular 元素作为反应形式的原生表单控件
- vaadin - Vaadin Flow 中的垂直或水平标尺
- python - 使用 split 方法预处理文本文件中的数据
- python - 如何通过具有相同的索引对子列表进行分组?
- python - 没有 slug 和通过 POST 的 Django DeleteView
- c# - 林克?? 运营商手段