在保持文本锁定的同时缩小相机 - Phaser 3

Zoom out camera while keeping text locked - Phaser 3

我正在制作一款剑术游戏,你必须收集金币才能变大,然后与人战斗。这是我到目前为止所拥有的:

注意玩家在收集金币时如何变大。过了一会儿,你变得很大,覆盖了整个屏幕。

我意识到我必须根据玩家的大小缩小相机。

这是我的相机(在创建函数中)

this.cameras.main.startFollow(this.mePlayer);

我在它之前添加了这行代码: this.cameras.main.setZoom(0.5)

现在变成这样了。文字都变小了,出于某种原因,我的 tileSprite 背景也坏了。

这是文本的代码。

        //killcounter
        this.killCount = this.add.text(window.innerWidth / 1.5, 0, 'Kills: 0', {
            fontFamily: 'Georgia, "Goudy Bookletter 1911", Times, serif'
        }).setFontSize(40).setDepth(101);
        this.killCount.scrollFactorX = 0
        this.killCount.scrollFactorY = 0

        //player+fpscounter
        this.playerCount = this.add.text(this.cameras.main.worldView.x*this.cameras.main.zoom, this.cameras.main.worldView.y*this.cameras.main.zoom, 'Players: 0' + "\nFPS: 0", {
            fontFamily: 'Georgia, "Goudy Bookletter 1911", Times, serif'
        }).setFontSize(20).setDepth(101);
        this.playerCount.scrollFactorX = 0
        this.playerCount.scrollFactorY = 0

这是我相机的代码

this.cameras.main.startFollow(this.mePlayer);

...这是我的背景代码

//in create function
        this.background = this.add.tileSprite(0, 0, window.innerWidth, window.innerHeight, 'background').setOrigin(0).setScrollFactor(0, 0);
        this.background.fixedToCamera = true;

//in update function
 this.background.setTilePosition(this.cameras.main.scrollX, this.cameras.main.scrollY);

有什么方法可以锁定文本,以便当相机缩小时,它保持在同一位置?

感谢samme帮我解决了这个问题

最后我创建了另一个名为 UICamera 的相机。

我使用 ignore 函数忽略了该相机上的所有游戏对象。

而且我忽略了主摄像头上的所有文字、小地图、ui和tilesprite背景。

然后,要缩小,我会缩小主相机并手动调整 tileSprite 比例。

http://phaser.io/examples/v3/view/camera/ignore