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.
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 :)
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 ;)
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!
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
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
+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?
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.
A mí nadie me lee... ;D ;D ;D
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
el ; al final de la linea esta implicito, porque el dijo que esa era parte del vector que cargo...
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
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...
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
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 =)