2013-07-18 1 views
0

GameQuery를 사용하여 자바 스크립트에서 기본 "낙하물 피하기"게임을하고 있습니다. 적 자주 스폰하고 주기적으로 전원을 켭니다. 파워 업 스폰 기능은 변수 이름이 변경되고 스폰 속도/스프라이트가 다른 적의 스폰 기능 (아래에 표시)의 사본입니다. 이것은 로컬에서는 잘 작동하지만 일단 내 사이트에 업로드되면 적군 만 생성됩니다. 무엇이 이것을 일으킬 수 있습니까? EnemyA = 파워 업.자바 스크립트 게임 - 오브젝트 업로드 된 적이없는 로컬 복사본에 스폰합니다.

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

View the game here

그냥 게임을 시도하고 반짝 찾고있는 것을 발견했다. 그것을 잡았고 나는 죽지 않았다. 파워 업인가? 그렇다면 내 끝에서 잘 작동하는 것처럼 보입니다.

+0

저도 잘 작동합니다 (최신 크롬과 osx의 파이어 폭스). 예상대로 7 초마다 파워 업이 발생합니다. –

+0

다소 간단한 오류였습니다. 파워 업 GIF의 이름은 자바 스크립트에 없어야 할 부분이있었습니다. 나는 이것이 왜 파워 업을 보여주는 것과 같은 불일치를 일으켰는지 확신 할 수 없다. 그러나 그것이 원인이었다. – Gantrof