2013-07-18 1 views
0

Я работаю над базовой, «избегаю падающих предметов» в Javascript с GameQuery. Враги часто появляются, и периодически активируются. Функция запуска спайна - это копия функции икры врага (показана ниже) с измененными именами переменных и другой скоростью/sprite. Это работает нормально локально, однако после загрузки на мой сайт только врагов появляются. Что может быть причиной этого? EnemyA = бонусы.Javascript Game - Объекты Spawn on local copy, не однажды загруженные

View the game here

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); 
+0

очистить кеш? – Derek

+0

@Derek Я считал, что, однако, проблема происходит на каждом компьютере, который я пробовал. – Gantrof

ответ

0

Только что попробовал игру и нашел игристую перспективную вещь. Схватил его, и я не умер, это что, бонусы? Если это так, похоже, что он отлично работает с моей стороны.

+0

Работает отлично для меня тоже (последний хром и firefox на osx), power-ups появляются каждую 7 секунд, как ожидалось. –

+0

Оказывается, это была довольно простая ошибка. Имя gif в Power-up имело капитал в моем javascript, где не должно было быть. Я не уверен, почему это вызвало такую ​​несогласованность в показе бонусов или нет, но это и было причиной. – Gantrof