我有一个精灵,我将y
速度设置为200,以便它向下移动。
精灵移动得非常好,除非它有时会断断续续。其他时候它如丝般光滑。就像fps下降到20。
如何阻止这种口吃?
以下是我的代码,您可以try it live here
var SimpleGame = (function () {
function SimpleGame() {
this.game = new Phaser.Game(800, 400, Phaser.AUTO, 'content', { preload: this.preload, create: this.create, update: this.update });
}
SimpleGame.prototype.preload = function () {
this.game.load.image('logo', 'Sprites/icon.png');
};
SimpleGame.prototype.create = function () {
//Create Sprite
this.speed = 133;
this.game.stage.backgroundColor = 0xffffff;
this.logo = this.game.add.sprite(this.game.world.centerX, this.game.world.centerY, 'logo');
this.logo.position.set(200, 50);
this.game.physics.arcade.enable(this.logo);
//Set velocity
this.logo.body.velocity.y = this.speed;
};
return SimpleGame;
})();
window.onload = function () {
var game = new SimpleGame();
};
答案 0 :(得分:0)
我自己并没有得到口吃。因此,尝试将其与其他计算机一起加载,找到具有不同级别计算机的朋友,以确保它不是本地客户端问题。如果是,则检查您的计算机防火墙设置是否有可能阻止进程的防病毒软件会降低您的游戏速度。
如果它是服务器端问题 - 首先尝试压缩代码和使用的内存。使用局部变量而不是全局变量,不要传递太多的函数参数(如果你使用了很多函数参数,那么你正在填充堆栈,这可能导致滞后)。
同时检查您的服务器。我不知道你使用的是什么网络服务器,所以我真的不知道你的规格,但我可以提供帮助。 Phaser是否为您的网络服务器使用了太多内存?小型Web服务器完全是为小型网站设计的,因此通过使用大量的JS(Phaser所做的,查看Phaser.min!),您可能在服务器上使用了太多内存。也许更大的订阅?
我希望我能帮到你。