如何避免使用Cordova在Phaser游戏中使用高内存?

时间:2016-10-22 12:39:07

标签: javascript cordova phaser-framework

我开发了Cordova Phaser游戏。它在Android和iOS设备上运行。

游戏有七个级别,每个级别都有一些精灵(背景,玩家)和组(子弹,敌人)。

preload函数中,我已经加载了所有图像和atlasJSONHash

function preload(){
    game.load.atlasJSONHash('anim', 'anim.png', 'anim.json');
    //and so on
}

function create(){
     var star = game.add.sprite(160, 32, 'level1bg');
     star.x = 0;
     star.y = 0;
     star.height = game.height;
     star.width = game.width;

     bullets = game.add.group();
     bullets.enableBody = true;
     bullets.physicsBodyType = Phaser.Physics.ARCADE;

     bullets.createMultiple(30, 'bullet');
     bullets.setAll('anchor.x', 0.5);
     bullets.setAll('anchor.y', 1);
     bullets.setAll('outOfBoundsKill', true);
     bullets.setAll('checkWorldBounds', true);
     //and so on
}
function startlevel(level)
{
     var star = game.add.sprite(160, 32, 'level1bg');
     star.x = 0;
     star.y = 0;
     star.height = game.height;
     star.width = game.width;

     bullets = game.add.group();
     bullets.enableBody = true;
     bullets.physicsBodyType = Phaser.Physics.ARCADE;

     bullets.createMultiple(30, 'bullet');
     bullets.setAll('anchor.x', 0.5);
     bullets.setAll('anchor.y', 1);
     bullets.setAll('outOfBoundsKill', true);
     bullets.setAll('checkWorldBounds', true);
     //and so on
}

当关卡结束时,我会拨打startlevel(2),依此类推。

在浏览器中运行良好,但在移动内存中每个级别都会翻倍,应用程序最终会崩溃。如何避免此内存问题?

0 个答案:

没有答案