Treba mi pomoc u vezi skripte koja pomera mapu u browser based igri (u ovom slucaju u desno, dalje nisam isao dok ovo ne proradi :))... Naime, skripta radi svoj posao ali ne iz prvog poziva nego tek iz drugog pa na dalje (?!?)...
Code:
function PomeriDesno(){
var xt = parseInt(document.getElementById("xcoord").textContent)+1; // x i y koordinate gornjeg levog ugla mape koja se iscrtava na stranici, za sada html element kasnije verovatno iz baze
var yt = parseInt(document.getElementById("ycoord").textContent); // xt = 0 i yt = 0 za proveru rada
var divCoord = "";
var blok = "";
var podatak = "metod=desno&x=" + xt + "&y=" + yt;
document.getElementById("xcoord").innerHTML = xt;
document.getElementById("ycoord").innerHTML = yt;
$.ajax({
url:"pomeranje.php",
type:"GET",
data:podatak,
dataType:"json",
success: function(msg){
mapa=msg;
}
});
// sumnjivi deo
for(var o=0; o<10; o++){
for(var i=0; i<10; i++){
divCoord = "x" + i + "y" + o;
blok = parseInt(mapa[i][o]);
if(blok==0){ document.getElementById(divCoord).style.backgroundImage = "url('img/dirt.png')"; }
else if(blok==1) { document.getElementById(divCoord).style.backgroundImage = "url('img/stone.png')"; }
else if(blok==2) { document.getElementById(divCoord).style.backgroundImage = "url('img/sand.png')"; }
}
}
}
function PomeriDesno(){
var xt = parseInt(document.getElementById("xcoord").textContent)+1; // x i y koordinate gornjeg levog ugla mape koja se iscrtava na stranici, za sada html element kasnije verovatno iz baze
var yt = parseInt(document.getElementById("ycoord").textContent); // xt = 0 i yt = 0 za proveru rada
var divCoord = "";
var blok = "";
var podatak = "metod=desno&x=" + xt + "&y=" + yt;
document.getElementById("xcoord").innerHTML = xt;
document.getElementById("ycoord").innerHTML = yt;
$.ajax({
url:"pomeranje.php",
type:"GET",
data:podatak,
dataType:"json",
success: function(msg){
mapa=msg;
}
});
// sumnjivi deo
for(var o=0; o<10; o++){
for(var i=0; i<10; i++){
divCoord = "x" + i + "y" + o;
blok = parseInt(mapa[i][o]);
if(blok==0){ document.getElementById(divCoord).style.backgroundImage = "url('img/dirt.png')"; }
else if(blok==1) { document.getElementById(divCoord).style.backgroundImage = "url('img/stone.png')"; }
else if(blok==2) { document.getElementById(divCoord).style.backgroundImage = "url('img/sand.png')"; }
}
}
}
Znaci na prvi poziv skripte ne desava se nista od iscrtavanja. Do FOR petlje skripta radi (isprobao sa ispisivanjem svih promenjivih koji se dotle koriste) ali sama promena pozadine u div elementima ciji su id = divCoord se ne desava u prvom pozivu nego se tek od drugog poziva desava ono sto bi trebalo odmah sa prvim (prvo klik nista, drugi klik pomeri u desno za jednu kolonu, itd.).