Bennu Game Development

Foros en Español => Mesa de Ayuda => Topic started by: Fido on January 15, 2010, 04:07:08 AM

Title: Animación con xgraph¿?
Post by: Fido on January 15, 2010, 04:07:08 AM
Antes de nada, saludos a la comunidad. Aquí uno más que al fin ha decidido dar el salto de Fenix a Bennu y retomar algún viejo proyecto. (Esto es un vicio al que uno siempre vuelve)

Y ahora, mi pregunta:
Aquellos que como yo empezasteis con DIV2 (o antes) recordaréis sin duda el viejo Tokenkai, en cuyo código utilizaba un array tal que así:

anim[]=4,1,5,9,13
4,2,6,10,14
4,3,7,11,15
     .......
(Obviamente mucho más larga)

El cual luego lo asignaba a la variable xgraph:

xgraph= anim[animacion]   

Siendo "animacion" el número del gráfico correspondiente dentro de toda la animación del prota. De este modo conseguía muy comodamente animar el personaje en todos sus ángulos.
Sin embargo, tras revisar la documentación que he podido encontrar al respecto y probando ese método ahora en Bennu, no me permite asignar datos al array de esa manera (";" expected) ¿Hay alguna manera de hacer esto, o algo similar? (Aparte de los métodos explicados en el manual de osk; me refiero al array).

Gracias de antemano, y a posteriori por el buen trabajo que estáis haciendo con Bennu. Espero poder mostrar pronto algo de mi proyecto y dar mi pequeño aporte.
Title: Re: Animación con xgraph¿?
Post by: Prg on January 15, 2010, 05:35:24 AM
si te refieres a agregar datos a un array (eso entendí), hazlo desde el momento de declararlo:

[code language="bennu"]
process mi_mono(bla,blax,...);
private
miarray[]=1,2,3,4,5,6,7,...,muchos;
...
begin
...
..
end
[/code]

si lo haces al declarar le puedes asignar los datos separados por comas, si no lo haces al declarar, los elementos del array los tienes que agregar uno por uno al estilo ¡No quiero hacerlo manualmente!, el cuál es:

[code language="bennu"]
process ar();
private
array[100];
Begin
array[0]=1;
array[1]=2;
array[2]=3;
...
array[n]=n;
end[/code]


si te refieres al uso de xgraph y asignarle el grafico del array, nunca he usado esa variable local (me refiero a xgraph). lo hice en el div2, pero en bennu nop.

supongo que si se complica puedes incluso generar el mismo comportamiento con algo como:
val=((sizeof(anim)/sizeof(*anim))/360000)*angle;
graph=anim[val];

saludos y bienvenido :)
Title: Re: Animación con xgraph¿?
Post by: Fido on January 15, 2010, 05:45:18 AM
Gracias por la respuesta y por la bienvenida :)

Tengo claro como agregar los datos al array, a lo que me refiero es a que Bennu no me deja declararlos de la manera que expuse anteriormente, es decir, mediante varias lineas cada una definiendo los gráficos para una dirección del xgraph. A ver si alguien me saca de dudas, aunque sospecho que si no me deja declararlo así, posiblemente no haya manera y tenga que hacerlo como tú dices, o usando un Switch y diferentes cases para cada rango de ángulos.

Gracias por tu interés de todos modos. Un saludo ;)
Title: Re: Animación con xgraph¿?
Post by: Hokutoy on January 15, 2010, 08:42:44 AM
Me meto donde no me llaman pero si tu problema al intentar complilarlo de la manera que dices es el error de (";" expected) quizà sea porque te has dejado unos ; al final de la linea?
Prueba a hacer un mini programa de ejemplo funcional y así entre todos miramos que puede ser.

Saludos!
Title: Re: Animación con xgraph¿?
Post by: Windgate on January 15, 2010, 09:47:16 AM
Yo use xgraph para animar una vez y la verdad, creo que no merece la pena... ¿Has mirado los 2 temas de animación de mi tutorial?

Ahora vienen incluso con un diagrama de cambios de estado de animación, para poder controlar las condiciones que hacer que el personaje pase de estar quieto a estar andando, a estar disparando o a hacer la animación de recibir daño :P

En cualquier caso, si ponéis código sobre xgraph que sea algo breve que compile y funcione, o subir algún ejemplo funcional sencillo si disponéis de él :D
Title: Re: Animación con xgraph¿?
Post by: SplinterGU on January 15, 2010, 07:40:04 PM
no sera que te falta , al final de la linea?

esto compila perfectamente


global
anim[]=4,1,5,9,13,
4,2,6,10,14,
4,3,7,11,15;

begin
end
Title: Re: Animación con xgraph¿?
Post by: Drumpi on January 16, 2010, 01:00:19 AM
+1 a lo que dice Splinter.
A lo que añado ¿no había que especificar como primer dato el número de posiciones que tiene el array para usarlo con xgraph?
Title: Re: Animación con xgraph¿?
Post by: Fido on January 16, 2010, 06:54:38 PM
Zas!
Pues sí era justo lo que dices, Splinter. Si es que no duermo lo suficiente ultimamente, perdón por la pregunta tonta entonces.

De momento, y hasta donde yo sé, compila y funciona perfectamente sin declarar antes el tamaño del array.

Gracias a todos.
Title: Re: Animación con xgraph¿?
Post by: Hokutoy on January 17, 2010, 03:29:05 AM
A mí nadie me lee...  ;D ;D ;D
Title: Re: Animación con xgraph¿?
Post by: Drumpi on January 17, 2010, 03:11:52 PM
Jejeje, te ignoran como a mi la mitad de las veces ;D
Aunque siendo justos, la respuesta de Splinter era más exacta que la tuya: le faltaba las comas al final de cada linea y el punto y coma al final de la última... aunque en realidad no la ha escrito ^^U
Title: Re: Animación con xgraph¿?
Post by: SplinterGU on January 17, 2010, 05:06:43 PM
el ; al final de la linea esta implicito, porque el dijo que esa era parte del vector que cargo...
Title: Re: Animación con xgraph¿?
Post by: Hokutoy on January 17, 2010, 08:27:16 PM
Siendo muy muy quisquillso  ;D el realmente dice que le da el error:
QuoteSin embargo, tras revisar la documentación que he podido encontrar al respecto y probando ese método ahora en Bennu, no me permite asignar datos al array de esa manera (";" expected)

Es mas, aunque se olvidara de las comas a final de la línea, esto no sería motivo para que no compilara ya que en vez de:

anim[]=4,1,5,9,13,4,2,6,10,14,4,3,7,11,15;

Bennu hubiera compilado igual con los siguientes parametros:
anim[]=4,1,5,9,134,2,6,10,144,3,7,11,15;

No?

PD: I win?  ;D ;D ;D
Title: Re: Animación con xgraph¿?
Post by: SplinterGU on January 17, 2010, 08:47:54 PM
claro, pero el error lo daba la falta de coma, como no encuentra coma en esa linea el parser piensa que falta el punto y coma para terminarla, aun el no se leyo la siguiente linea, o si, pero supone que falta el punto y coma.

prueba hacer lo que te digo, poniendo la ultima con ; pero no pongas , entre lineas...
Title: Re: Animación con xgraph¿?
Post by: Hokutoy on January 17, 2010, 09:18:20 PM
Probado! Y tienes razón... no sé porque pensé que Bennu no haría caso de los espacios en blanco y "pegaría" los números.
You win!  ;D

Si es que no se puede competir contra tí man  :D
Title: Re: Animación con xgraph¿?
Post by: Fido on January 18, 2010, 10:22:51 AM
Jajaja Lo siento Hokutoy. Claro que te leí, pero ultimamente ando liado con el curro y no tengo mucho tiempo para conectarme, por eso fuí directamente al grano, solo para haceros saber que ya estaba solucionado.
El problema era exactamente lo que Splinter explicó (y solucionó)

Gracias a todo por el interés. Si el curro me deja, no debería tardar mucho en subir algo a la sección de proyectos =)