Skocz do zawartości

JS wykrycie zakończenia "zapytania"


Markuz

Rekomendowane odpowiedzi

A wiec tak , mam taki kodzik:

            if(window.event.keyCode == 83) { 
            var req = mint.Request();
            req.Send("map_includes/ruch.php?step_edit=down", "response");
            OdswiezMape(); 
            }

gdy nacisnę klawisz "S" to wchodzi mi w map_includes/ruch.php?step_edit=down i tam ustawia ze jeśli nic nie jest źle to gracz zmienia swoja pozycje (zapytanie do mySQL ) , i jak zrobić aby:

Gdy gracz zmieni swoją pozycje albo dopiero jak poinformuje nas o tym że tam jest zajęte pole zwróci wartość gotowy=true, jeśli naciśniemy strzałkę to gotowy=false, i oczywiście możemy nacisnąć tylko wtedy gdy gotowy=true. Chodzi mi o to żeby trzymając klawisz gracz nie szedł np. o 10 pól w prawo tylko o 1 . Proszę o podpowiedź :) Pozdrawiam!

Odnośnik do komentarza
Udostępnij na innych stronach

To jest ajax, tak? :P

 

Na początku: gotowy = false;

Po wysłaniu "zapytania": if( req.readyState == 4 ) && ( req.Status == 200 ) gotowy = true;

 

Coś w tym stylu powinno działać, ale nie jestem pewien. Musisz po prostu poczekać aż ajax Ci odpowie, że plik został wykonany i wtedy umożliwić graczowi kolejny ruch :)

Odnośnik do komentarza
Udostępnij na innych stronach

Wiem że tak muszę ale nie wiem jak to zrobić :D Spróbuje jak pokazałeś i zaraz napisze czy coś to dało :P

var gotowy=true;

function przechwyc(e) {    
            if(window.event.keyCode == 83) { 
            if(gotowy==true) {
            gotowy = false;
            var req = mint.Request();
            req.Send("ruch.php?step_edit=down", "response");
            alert('asdsad'+gotowy);
            if( req.readyState == 4 ) {
            gotowy = true;
            }
            OdswiezMape(); 
            } 
            }
            
            if(window.event.keyCode == 87) { 
            var req = mint.Request();
            req.Send("ruch.php?step_edit=up", "response");
            OdswiezMape(); 
            } 
            
            if(window.event.keyCode == 68) { 
            var req = mint.Request();
            req.Send("ruch.php?step_edit=right", "response");
            OdswiezMape(); 
            } 
            
            if(window.event.keyCode == 65) { 
            var req = mint.Request();
            req.Send("ruch.php?step_edit=left", "response");
            OdswiezMape(); 
            } 
}
document.onkeydown = przechwyc;

Zrobiłem tak i nie działa heh

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...