Julio 25, 2011, 04:02:36 PM Ultima modificación: Julio 25, 2011, 07:50:39 PM por DarkKRuleR
Buenas, pues llevo un BUEN rato probando, incluso realizando factores de conversi?n de unidades entre velocidad, distancia y tiempo (speeds, pixels y steps) pero nada!

Mi personaje se mueve en una cuadr?cula isom?trica, la propia room me la hace, es 60 x 60, as? que queda isom?trica PERO LOS ?NGULOS no forman todos 120 grados, sino que son como cuadrados exactos girados, conque tengo el eje vertical y los otros dos que forman entre s? 90 grados. No es un juego pok?mon, pero lo digo ya que Pok?mon es el juego m?s famoso que usa el sistema que quiero probar, el de avanzar casilla a casilla quedando exacto en las casillas, pero en isom?trico rect?ngulo

Conque, para moverlo en una direcci?n diagonal, s?lo debo poner hspeed y vspeed a unos mismos valores para movimiento diagonal

el problema es que quiero que avance s?lo hasta la siguiente casilla. Tomando las casillas diagonales que la room hace autom?ticamente, quiero que se mueva hasta la siguiente casilla diagonal y se pare, al m?s puro estilo pok?mon pero diagonal. El problema es, c?mo?

Yo hice que nadam?s moverse, salte una alarma, y la alarma suena en un tiempo para que se pare. Es decir, se mueve en diagonal a una velocidad que es una variable, y mi idea es que justo al avanzar a la siguiente casilla, se pare.

Pero no puedo saber cu?nto tiempo en steps es exacta la alarma para ello, ni con factores de conversi?n entre la velocidad y la distancia recorrida funciona el tiempo sacado.

Hay alguna manera? Hacer movimiento pok?mon pero en isom?trico, pero no isom?trico sino que los ejes son el vertical y los dos de abajo forman ?ngulo recto (solo digo que en la room, selecciono la casilla de GRID y la casilla de la derecha de grid diagonal, y pongo ambos valores 60)

Podr?a resumir, diciendo que quiero saber c?mo hacer el t?pico movimiento de Pok?mon en cuatro direcciones, que, si pulsas LEVEMENTE hacia una direcci?n a la cual no est?s mirando, te pones mirando hacia ella sin moverte, y si mantienes pulsada la direcci?n, te mueves. Y si dejas de pulsarla, se para pero haciendo un paso perfecto hacia la casilla designada. Vamos, eso, y luego yo lo podr?a aplicar al isom?trico...

#1 Julio 25, 2011, 07:50:26 PM Ultima modificación: Julio 25, 2011, 07:55:42 PM por DarkKRuleR
Posteo para indicar que lo he resuelto y pod?is cerrar el tema (no es doblepost, ya que lo que hago es aportar info nueva para avisar ^^)

podr?as explicar como lo solucionaste, a mi al menos me interesa :D yo habr?a echo algo con align to grid pero en realidad no s?  :-[
everybody's got something to hide except for me and my monkey
no hagas click aqu? ---->http://sathrash.deviantart.com/

El principal problema era que mis sprites eran 60x60, eran rombos rectos. Bueno, la cuesti?n es que muevo al personaje, ej, al nor oeste, mantengo ARRIBA MAS IZQUIERDA. Mantengo dos flechas para moverlo. En el c?digo de moverlo as?, lo que hago es setear las variables xx e yy, que ser?n el objetivo a moverse. Pongo, si por ejemplo pulso ABAJO y DERECHA para ir al sur este, pongo xx=x+30 y yy=y+30, con eso me muevo hacia la casilla. Un problema era que  yo hac?a +60 y no +30 xD
Lo principal, en el caso anterior, el tipo se mueve correctamente, pero debo poner c?mo pararlo. Entonces, en step, pongo algo como:
if x>xx and y>yy {hspeed=0; vspeed=0;}

simplemente he checado que ha pasado del punto designado. Pero eso depende de cada lado, seg?n a qu? lado sea.

Y s?, siempre lo alineo a la cuadr?cula una vez ha alcanzado el punto xx, yy. Siempre se alinea despu?s de cada movimiento

S?lo funciona, como ver?s, si las direcciones son de 45 grados. Si en tu caso es un isom?trico puro, con ?ngulos de 120, no te funcionar?, ya que est? hecho para moverse con ?ngulos de 45! EL m?o no es isom?trico, es casi, pero no s? como llamarlo de otra forma xD