Я работаю над базовой, «избегаю падающих предметов» в Javascript с GameQuery. Враги часто появляются, и периодически активируются. Функция запуска спайна - это копия функции икры врага (показана ниже) с измененными именами переменных и другой скоростью/sprite. Это работает нормально локально, однако после загрузки на мой сайт только врагов появляются. Что может быть причиной этого? EnemyA = бонусы.Javascript Game - Объекты Spawn on local copy, не однажды загруженные
var enemyHeight = 48;
var enemyWidth = 48;
var enemySpawnRate = 700;
var enemyAHeight = 48;
var enemyAWidth = 48;
var enemyASpawnRate = 7000;
function Enemy(node, value){
this.value = value;
this.speed = 4 + passCount;
this.node = node;
this.update = function(){
this.node.y(this.speed, true);
};
};
function EnemyA(node, value){
this.value = value;
this.speed = 9;
this.node = node;
this.update = function(){
this.node.y(this.speed, true);
};
};
$(".enemy").each(function(){
this.enemy.update();
if(($(this).y()+ enemyHeight) > 640){
passCount = passCount + 0.1;
totalScore = totalScore + 50;
$(this).remove();
} else {
var collided = $(this).collision("#playerBody,."+$.gQ.groupCssClass);
if(collided.length > 0){
$("#player")[0].player.value -= $(this)[0].enemy.value;
$(this).remove();
if($("#player")[0].player.value <= 0){
$('.enemy').remove();
$('.enemyA').remove();
$("#playground").fadeOut(800);
$("#gameover").delay(800).fadeIn(800);
Enemy.speed = 0;
$.playground().pauseGame();
}
}
}
});
$(".enemyA").each(function(){
this.enemyA.update();
if(($(this).y()+ enemyWidth) > 640){
$(this).remove();
} else {
var collided = $(this).collision("#playerBody,."+$.gQ.groupCssClass);
if(collided.length > 0){
totalScore = totalScore + 250;
playerSpeed = playerSpeed + 0.5;
$(this).remove();
}
}
});
$.playground().registerCallback(function(){
var enemyValue = 3;
var name = "enemy_"+(new Date) .getTime();
$("#enemies").addSprite(name, {animation: enemySprite[Math.floor(Math.random() * enemySprite.length)], posy: 0, posx: Math.random()*PLAYGROUND_WIDTH*0.9, width: enemyWidth, height: enemyHeight});
var enemyElement = $("#"+name);
enemyElement.addClass("enemy");
enemyElement[0].enemy = new Enemy(enemyElement, enemyValue);
}, enemySpawnRate);
$.playground().registerCallback(function(){
var enemyAValue = 100000;
var name = "enemyA_"+(new Date) .getTime();
$("#enemiesA").addSprite(name, {animation: enemyASprite, posy: 0, posx: Math.random()*PLAYGROUND_WIDTH*0.9, width: enemyAWidth, height: enemyAHeight});
var enemyAElement = $("#"+name);
enemyAElement.addClass("enemyA");
enemyAElement[0].enemyA = new EnemyA(enemyAElement, enemyAValue);
}, enemyASpawnRate);
очистить кеш? – Derek
@Derek Я считал, что, однако, проблема происходит на каждом компьютере, который я пробовал. – Gantrof