mmofacts.com

Ajax Requests kombinieren

gepostet vor 13 Jahre, 11 Monate von BlackScorp

Hallo Leute,

ich habe ein kleines Problem mit meiner Karte. es geht um folgendes.

ich möchte meine Karte mit jQuery animieren. hat auch alles funktioniert bis auf eine kleinigkeit. und zwar wenn sich meine spielfigur irgendwo nicht weiterkommen darf, dann soll da keine animation stattfinden. meine überlegung war es. wenn ich auf ein Pfeil klicke um meine figur zu bewegen, schicke ich ein ajax request ab um zu prüfen ob das Feld wohin ich gehen möchte, überhaupt begehbar ist, wenn ja dann animiere (bewege) ich meine karte in eine bestimmte position, ermittle die divs, die nachgeladen werden müssen, schicke dir divs per ajax and php script, der ließt mir die namen der Tiles für die divs aus,schickt die zurück und neuerstellten divs, erhalten ihre neuen CSS namen. und andere divs, die außerhalb des sichtbaren bereichts, werden entfernt

das problem ist halt dass wenn das feld , auf welches ich gehen möchte, begehbar ist, dass ich dann 2 requests abschicke.

meine frage ist nun. kann ich das ganze irgendwie anders lösen? dass da nur ein request ankommt und mit dem einen request sofort geprüft wird ob ich animieren soll oder nicht, und wenn ja dass ich auch gleich als ergebnis meine CSS klassennamen für meine Tiles kriege?

hoffe ihr versteht was ich meine.. wenn nein dann noch mal nachfragen;)

MFG

gepostet vor 13 Jahre, 11 Monate von DrakeL

Schick doch nur ein Request mit dem Befehl "bewegen" (und allen notwendigen Angaben die beschrieben hast), lasse den Server prüfen und wenn möglich die Bewegung durchführen und schicke das Ergebnis zurück. Wenn die Bewegung durchgeführt werden konnte machst die Animation, ansonsten nicht. Die Prüfung muss ja nicht im Vorfeld machen.

gepostet vor 13 Jahre, 11 Monate von Todi42

Und noch besser, lass Dir vom Server bereits die Bereiche auf der Karte schicken, die z.Z. noch nicht sichtbar sind schicken. Dann weist Du schon, ob sich die Figur auf das Zielfeld bewegen läßt. Wird die Figur bewegt, fragst Du, nach dem Du die Karte neu gezeichnet hast, die Informationen über die Ränder ab, die Du noch nicht hast. So sollte das Bewegen auf der Karte flüssiger sein, weil Du nicht erst einen ganzen Server/Client Roundtrip warten must, bevor Du mit dem Zeichnen anfangen kannst.

Das ganze funktioniert natürlich nur, wenn Du damit keine sensiblen Daten auslieferst.

mfg Todi

Auf diese Diskussion antworten