Egret社区
5银子
现在我的程序是切后台之后就暂停了,比如出去是1分49秒,切5秒之后回来还是1分49秒,现在策划的要求是切换到后台继续执行游戏,有没有好的解决办法

最佳答案

查看完整内容

看下 main类里且后台是否暂停了,如果有把暂停注释就行了 egret.lifecycle.onPause = () => { // egret.ticker.pause(); } egret.lifecycle.onResume = () => { // egret.ticker.resume(); }
分享到 :
1 人收藏

3 个回复

正序浏览
shaoliufei  登堂入室 | 2019-5-13 20:31:11
把,egret.web.js startTicker改下
改成这样 试试
/**
         * @private
         * 启动心跳计时器。
         */
        function startTicker(ticker) {
            // var requestAnimationFrame = window["requestAnimationFrame"] ||
            //     window["webkitRequestAnimationFrame"] ||
            //     window["mozRequestAnimationFrame"] ||
            //     window["oRequestAnimationFrame"] ||
            //     window["msRequestAnimationFrame"];
            // if (!requestAnimationFrame) {
            //     requestAnimationFrame = function (callback) {
            //         return window.setTimeout(callback, 1000 / 60);
            //     };
            // }
             var requestAnimationFrame = function (callback) {
                    return window.setTimeout(callback, 1000 / 60);
                };
            requestAnimationFrame(onTick);
            function onTick() {
                requestAnimationFrame(onTick);
                ticker.update();
            }
        }
老天保佑没有bug  登堂入室 | 2019-5-13 18:43:51
shaoliufei 发表于 2019-5-13 11:11
看下 main类里且后台是否暂停了,如果有把暂停注释就行了
egret.lifecycle.onPause = () => {
             ...

这个在电脑上可以,但是把项目最小化就不行了,手机里切后台也不行,请问还有没有什么别的办法
shaoliufei  登堂入室 | 2019-5-13 11:11:55
看下 main类里且后台是否暂停了,如果有把暂停注释就行了
egret.lifecycle.onPause = () => {
            // egret.ticker.pause();
        }

        egret.lifecycle.onResume = () => {
            // egret.ticker.resume();
        }
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|京网文[2014]0791-191号|京ICP证150115号|Egret社区 ( 京ICP备14025619号 )

Powered by Discuz! X3.4 © 2001-2019 Comsenz Inc.

返回顶部