Phaser3 设置场景Scene Sleeping休眠和Wake唤醒

A good way to set scene stop when hidden and run while visible again !

使用sleep和wake方法的好处:

1.可以彻底让scene场景彻底休眠
2.update function不会再运行
3.同时会暂停场景内的Timer事件

GameScene.js代码


 // phaser version 3.15.0
// 监听是否当前场景不可见/最小化
        this.sys.game.events.on('hidden', function () {
            console.log('pause spawn bomb while hidden');
            console.log('gamescene is sleeping?', this.scene.isSleeping('GameScene'));
            console.groupEnd();
            game.scene.keys['GameScene'].sys.sleep();

        }, this);

// 回到当前场景
        this.sys.game.events.on('visible', function () {
            console.log('spawn bomb while visible');
            console.groupEnd();
            console.log('gamescene is wake again:', this.scene.isSleeping());
            game.scene.keys['GameScene'].sys.wake();
            this.createCheckNetWork();
        }, this);
打赏

Leave a Reply