这似乎是一个简单的问题,但我无法解决它:
我正在使用带有 ES6 类的 Phaser.io 3 HTML5 游戏框架,我试图找出实际的“游戏大小”(或 Canvas /视口(viewport)大小),以便我可以在屏幕上居中放置一个对象:
class Scene1 extends Phaser.Scene {
constructor(config) {
super(config);
}
preload() {
this.load.image('ship', 'assets/spaceship3.png');
}
create() {
let ship = this.add.sprite(160,125, 'ship');
// Here I need to figure out the screen width / height:
// ---> How do I achieve that?
ship.setPosition(width / 2, height / 2);
}
}
我找不到读取或计算实际视口(viewport)/ Canvas 大小的方法。有什么提示吗?
最佳答案
在一个场景中,在 preload()
和 create()
方法(不在构造函数中),您可以使用 this.sys.game.canvas
访问 Canvas 元素.因此,要获得 Canvas 大小,您可以执行以下操作:
create() {
let { width, height } = this.sys.game.canvas;
}
就我而言,我喜欢添加以下代码以简化对 Canvas 的访问:
preload() {
this.canvas = this.sys.game.canvas;
}
关于phaser-framework - Phaser.io 3 : Get game size in scene,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52139569/