Flame框架中size与canvasSize是否存在差异?
Flame中
size与canvasSize的区别 问题背景
在Flame的router示例里同时出现了size和canvasSize,查看Game类的实现代码后发现,二者的getter逻辑完全一致:
/// Current game viewport size, updated every resize via the [onGameResize] /// method hook. Vector2 get size { assertHasLayout(); return _size!; } Vector2 get canvasSize { assertHasLayout(); return _size!; }
请问这两个属性究竟是同一事物,还是存在本质差异?
回答
这两个属性完全是同一事物,没有任何本质差异。
从代码实现可以明确看到,size和canvasSize的getter都指向同一个私有变量_size,获取的是完全相同的游戏视口尺寸值,二者的行为、返回结果完全一致。
这种情况通常是Flame框架为了兼容旧版本代码,或是满足不同开发者的命名习惯而保留的别名——早期版本可能只提供了其中一个属性,后来为了让命名更直观(比如canvasSize更明确指向画布尺寸)新增了另一个,但为了不破坏现有项目的兼容性,保留了原有的size属性,让二者共享同一个底层值。
内容的提问来源于stack exchange,提问作者shingo.nakanishi
相关产品推荐
相关产品推荐

