0

Auf dem Projekt erfüllt sind: https://github.com/kawai-developers/faster (Zweig dimitris) auf Datei www/js/services.js um die Linie 254 ich den folloging Code haben:Debugger des nicht in die Funktion treten, selbst wenn Bedingungen

game.remove_deleted_items=function() 
{ 
    var deleted=move_items_on_the_top(); 

    game.grid.loopItems(function(item,i,j,values,game) 
    { 
    console.log(item.status); 
    if(item.status==='destroyed') 
    { 
     console.log("Δαμέ"); 
     values[i][j]= game.randomItem(values[i][j]);//Replace the item with the new one 
     game.addScore(1); 
    } 
    }); 
}; 

Aber aus irgendeinem Grund, obwohl die folgende Zeile wird ausgeführt:

values[i][j]= game.randomItem(values[i][j]); 

Die folgende Zeile ist nicht:

game.addScore(1); 

Beide sind im gleichen Zustand und das Spielobjekt ist zugänglich. Auch das Verfahren existiert und hat die folgende Umsetzung:

game.addScore=function(points) 
{ 
    console.log(points); 
    game.points.value+=points; 
    console.log("Helllo adding points"); 
} 

Aber auf meinem Debugger (firefox ein) Ich debuggen es aus irgendeinem Grund, wenn ich an die Funktion Schritt klicken gamme.addScore nicht.

Haben Sie irgendeine Idee, warum passiert das?

+1

Also weder den Code normalerweise läuft noch den Debugger verwendet, wird 'console.log (Punkte) getroffen;'? Es wird nur nie getroffen? Was, wenn du ein log unter "game.addScore (1)" legst, wird das getroffen? – dlsso

+0

Nun, weder die Art, wie du vorgeschlagen hast, wurd ich nur das Spiel gesetzt.addScore (1); in einen anderen Ort und arbeitete wie ein Charme. –

+0

Ich habe keine Vorschläge gemacht, wie es funktioniert, ich habe nur versucht herauszufinden, was genau passiert ist. Ich bin froh, dass es funktioniert hat. – dlsso

Antwort

0

Ich habe das Spiel verschoben.addScore (1); die game.remove_deleted_items außerhalb des Callback so:

game.remove_deleted_items=function() 
     { 
      var deleted=move_items_on_the_top(); 
      if(deleted) 
      { 
      deleted.forEach(function() 
      { 
       game.addScore(1); 
      }); 
      } 

      // I Loop through the grid because I want the i,j position for each item too. 
      game.grid.loopItems(function(item,i,j,values,game) 
      { 
      console.log(item.status); 
      if(item.status==='destroyed') 
      { 
       values[i][j]= game.randomItem(values[i][j]);//Replace the item with the new one 
      } 
      }); 
     }; 

(mit einer Prise Dokumentation)