PDA

Ver la versión completa : Ayuda en fenix II



bitugarcia
20/05/2006, 21:01
No sabía si continuar en el post que ya cree y por lo tanto e creado una nuevo, si he cometido un error decirmelo.
Hola de nuevo gperos, como os comente en otro post estoy intentando crear un juego de rol para la GP2X desde cero, en fenix , he creado el primer nivel y algunos movimientos del personaje(en realidad los he sacado de una pagina freeware de internete)estoy tb liado con el mapa de durezas,y ahora se me plantea una duda,y esq al atacar, como ai unos 8 sprites para cadaposicion,(mirado para arriba, mirando para abajo, izq, der, y diagonales)no se q escribir en el codigo para que la animacion de atacar que salga sea la correspondiente a la posicion en la q estaba anteriormente.Si alguien me pudiera exar una mano se lo agradeceria muxo.

Gracias de antemano

Estopero
20/05/2006, 21:56
hola bitu, aqui estamos de nuevo para ayudarte, xD, conseguiste hacer lo otro bien? :)
Pues yo para eso, lo que hago es tener una variable llamada _direccion, que guarda la direccion actual hacia la q esta mirando (por ejemplo dandole un valor segun la ultima tecla de direccion que se haya pulsado), entonces cuando des a atacar, segun el valor de _direccion cargas una animacion o otra :)

if _direccion == "derecha" : (codigo de la animacion);
else
if _direccion == "izquierda" : (codigo de la animacion) end;
end
o asigna las direcciones del 1 al 8 asi

1-2-3
4-5-6
7-8-9

if _direccion == 1 : (codigo de la animacion 1) end;
else if _direccion == 2 : (codigo de la animacion 2) end
.
.
.
else if _direccion == n : (codigo de la animacion n) end
.
.
end

PD: Joroña q totno soy, xD o usa un SWITCH y te ahorras el lio de los else if.. :) pero la mecanica sigue siendo la misma

espero q te sirva =), un saludo!

bitugarcia
20/05/2006, 22:06
Muxas gracias por tu ayuda estopero,pero una duda, todo esto dentro del proceso personaje, no? o creo otro proceso, con los mismos parametros?

saludos

Estopero
21/05/2006, 01:04
(he corregido en el post anterior la variable que estab mal escrita, me he liao xD)
A ver, uhmm, podrias por ejemplo crear un proceso llamado pAtaqueAnimacion(direccion) tal que recibe una variable direccion, entonces en el proceso del personaje pones:

if (key(_teclaAtaque)):
pAtaqueAnimacion(_direccion);
end

y el proceso pAtaqueAnimacion seria asi:

function pAtaqueAnimacion(direccion)
private contadorFrames;AnimacionAcabada;
begin
AnimacionAcabada=0;
contadorFrames=0;

while(AnimacionAcabada!=6):

contadorframes=contadorframes+1;

switch(direccion):

case 0:
if AnimacionAcabada==0: father.graph=28; end
if contadorFrames mod 3==0 :
father.graph=father.graph+1;
animacionAcabada=animacionAcabada+1;
contadorFrames=0 ;
end //IF
end //CASE


case 1:
if AnimacionAcabada==0: father.graph=33; end
if contadorFrames mod 3==0 :
father.graph=father.graph+1;
animacionAcabada=animacionAcabada+1;
contadorFrames=0 ;
end //IF
end //CASE

case N:
....

end //switch

frame;

end //While

no lo he probado, pero algo asi te deberia funcionar, preguntame si no entiendes algo xD. Un saludo

bitugarcia
21/05/2006, 20:21
Creo q pillo la idea pero vamos q de todas formas muxas gracias estopero