Hoi allemaal, ik heb een probleem bij de richting van 2 punten.
Ik zal eerst wel uitleggen waarover het gaat.
Ik ben bezig met een AJaX spel opbouwen dat wordt voorzien van een 2d grid, dus de wereld waar je in loopt.
Zo gauw als je begint te lopen, wordt er een vloeiende animatie ingesteld waarin het poppetje in de goede richting loopt. Dit werkt al.
Alleen heb ik dus een poppetje dat 4 richten op kan lopen.
Zo worden deze richting in het script zelf aangeroepen:
-----back
----- |
left --|-- right
----- |
-----front
Dus dan heb ik een kaart, die kun je zien op http://www.knightsway.com/map.jpg
Dus als de gebruiker bevoorbeeld op coordinaten 5,5 staat (zoals op de kaart), hoe kan ik d.m.v. JavaScript dan uitzoeken welke richting de character op moet gaan? Dus bijv: front, left, right en back
?
Onbekende gebruiker
17-07-2009 14:39
Alle coordinaten inlezen van de kaart (een flat-file kan je hier bijvoorbeeld voor gebruiken) en vervolgens de positie vergelijken met de flat-file en dan een conclusie trekken.
Dit lijkt mij in ieder geval de beste mogelijkheid, echter ben ik niet goed met JavaScript, dus kan ik je verder niet heel erg goed helpen.
Wat bedoel je precies?
Iets zoals dit? (Dit wordt gebruikt om de kaart te renderen):
0|0|0|0|0|0|0|0|0|0|0|0
0|0|0|0|0|0|1|1|1|1|1|0
0|0|0|0|0|0|1|0|0|0|1|0
0|0|0|0|1|1|1|1|0|0|1|0
0|1|1|1|1|1|1|1|1|1|1|0
0|1|0|0|1|1|1|1|0|0|0|0
0|1|0|0|0|1|0|0|0|0|0|0
0|1|0|0|0|1|0|0|0|0|0|0
0|1|1|1|1|1|0|0|0|0|0|0
0|0|0|0|0|0|0|0|0|0|0|0
?
Onbekende gebruiker
17-07-2009 14:48
Inderdaad een matrix zoals dat en vervolgens die matrix gebruiken om de positie te vergelijken met de omringende stukken.
Ik zat zelf al te denken aan iets met Pythagoras, d.m.v. wat SanThe zei.
Alleen komt er bij het systeem dan steeds weer back uit. Maakt niet uit welke richting ik opga. Ik zal iets meer informatie geven.
Ik roep steeds een functie aan genaamd move(nieuwe x, nieuwe y)
Die vergelijkt de coordinaten met de huidige x & y.
De variabelen hiervan zijn user.map_x en user.map_y
En de oplossing is? Graag vemelden voor je mede-forumleden.
Verder: Gelieve Niet Bumpen:
Twee of meer keer achter elkaar in een topic posten heet bumpen. Bumpen is pas na 24 uur toegestaan en kan een reden zijn voor de admins en moderators om een topic te sluiten. Gebruik indien nodig de knop om je tekst aan te passen.
Ik heb een taktiek ontdekt genaamd pathfinding.
Eerst probeert het systeem uit te vinden of hij naar links of naar rechts gaat.
Nieuwe X - Oude X, en dan d.m.v. positief en negatief.
Daarna heb ik een setTimeout gemaakt voor als hij eenmaal aangekomen is. 1sec/vakje. Dan draait hij de sprite bij, en gaat weer 1sec/vakje de andere kan op, dus de Y richting.