problemas usando advance

Started by DCelso, October 01, 2009, 05:55:22 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

FreeYourMind

Bueno la
1- parece que me equivoque en algo, he cambiado las explosiones con:

explosio(x/resolution,y/resolution); y ya localizan el lugar exacto.


sobre el punto 2, estoy pensando en poner mas una variable de entrada en la funcion disparo, para utilizar sólo el resolution en las 2 lineas con menor angulo, y ajustar su valor, para poder crear la piramide perfecta  :-\


Windgate

¿No te resolvería muchos de esos problemas tener unos write() / write_var() con las x,y,graph,etc de cada proceso sobre ellos?

Cuando las cosas se ponen feas y hay valores que no parecen correctos es lo que suelo hacer.
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

FreeYourMind

Hhheeheh, ya harto de debugear estoy cuando uso visual studio, aqui prefiero programar a la antigua, probar y mirar todo a ojo ;)

Windgate

Hombre, con Bennu es más bonito porque los bichitos se mueven y muestran su información, a mi me guzta ::)
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

Drumpi

FreeYourMind: es normal que no vayan los tiros en perfecta formación horizontal, por pura cuestión geométrica. Forman un arco porque esos puntos están a la misma distancia del centro de donde sales, al usar advance es como si recorrieras el radio de un círculo.
Repasa el tema de ángulos e hipotenusas en triángulos rectángulos. Advance hace que recorras una distancia en un ángulo, y será la hipotenusa del triángulo, los ejes X e Y forman los dos catetos, y obviamente sabemos que los catetos miden menos que la hipotenusa.

Para hacer lo que quieres, no uses advance: mueve el disparo lo que necesites verticalmente a cada frame, y luego desplaza horizontalmente según cada disparo (por ejemplo, el primero x-- a cada frame, el segundo nada, y el tercero x++). Si necesitas que se desplacen menos, ya te hemos explicado (dos veces) el funcionamiento de resolution ;)

Suerte.
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

SplinterGU

drumpi, ya lo solucionaron con el resolution... como ya habiamos dicho...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

FreeYourMind

Te entiendo perfectamente, pero date cuenta que sin usar el resolution el advance() ya no forma un arco, forma una piramide (salvo por las 2 lineas laterales a la linea central, que necesitan el resolution por tener angulo muy pequeño).
Es el comportamiento igual al que tenia en Fenix o Div.

Ya se que Bennu si tiene cambios es porque es mas lógico, y debe tener estos cambios.
Pero creo que se deberia ajustar en la propria funcion advance() sin tener que poner resolution para angulos pequeños, ten en cuenta que estes div like languages son para programar de forma facil, y estas tareas de calculos y ajustes para angulos pequeños deberian ser transparentes para el usuario, en este caso creo que deberia portarse como en Fenix, y internamente hacer estas cosas, no fuera de la función.

Entiendo que lo correcto es que forme un arco y no una piramide, pero hacer que forme una piramide de la forma que dices es engorrosa, porque utilizo el mismo procedimiento para todos los disparos, ya comente una forma más rápida de hacerlo, que seria pasarle otro parametro de entrada a la funcion disparo, seria una flag, con true utilizaria el resolution solo en los dos tiros de angulo pequeño y pondria el valor del advance apropriado, en los otros lo pondria normal sin resolution, o sea, estos ultimos serian una piramide, y los otros 2 hilos ajustando el valor del advance haria que se movieran a la misma velocidad en el eje Y que el resto de hilos, teniendo una piramide similar a la de Fenix :)

Pero si te digo la verdad creo que voy a dejarlo así con el arco, tambien es muy raro que consigas el tiro máximo durante el juego,  ;D

Drumpi

Yo sólo digo una cosa (y me voy a dormir): Bennu se comporta igual que Fenix e igual que div respecto a angles, resolutions y advances, te lo digo porque llevo mucho, pero mucho tiempo dedicado en DIV a hacer un FZero (que abandoné por no encontrar el equilibrio entre velocidad y giro).
La única diferencia entre ambos es el modo7, porque en DIV sí usaba los decimales de advance para colocar la nave en dicho espacio, porque en el modo7 los pixels eran más grandes que los de pantalla.

[Furby mode] Mi... dormido... otra veeez....
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

SplinterGU

quizas no me explique, el advance de fenix (no me consta el de DIV) funcionaba porque incrementaba aun cuando no debia hacerlo, y eso esta mal, muy mal... no es cuestion solo de mas logico, es cuestion de que era un bug...
el resolution es de div, y fue puesto por esta misma razon, no es un invento de bennu... el resolution actua dentro de la funcion advance, no fuera... las x,y,z son enteros... y la razon del resolution, es porque fenix, div, no soportan flotantes
entonces, no puede comportarse como algo con bug, la idea es que el bug se solucione...

pensemos un poco, claramente... si partiendo de un punto en comun hacemos advances de objetos a diferentes angulos, eso nunca deberia crear una piramide... deberia ser un arco, es como ir agrandando un circulo... por eso, ahi te das cuenta que hay un bug en los productos viejos...

a todo esto, que juego estas portando?
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

FreeYourMind

Quote from: Drumpi on October 02, 2009, 01:48:33 AM
Yo sólo digo una cosa (y me voy a dormir): Bennu se comporta igual que Fenix e igual que div respecto a angles, resolutions y advances, te lo digo porque llevo mucho, pero mucho tiempo dedicado en DIV a hacer un FZero (que abandoné por no encontrar el equilibrio entre velocidad y giro).
La única diferencia entre ambos es el modo7, porque en DIV sí usaba los decimales de advance para colocar la nave en dicho espacio, porque en el modo7 los pixels eran más grandes que los de pantalla.

[Furby mode] Mi... dormido... otra veeez....

Pero si llevamos todo el dia demostrando que no lo es, joer macho  ??? te has leido los posts ? Es tan sencillo como ejecutar el codigo que tenia antiguo de div o Fenix en Bennu y ver que los angulos pequeños del ejemplo no se mueven en el eje X, si incluso tu me dijiste el motivo, por los redondeos !!! Creo que ya estabas soñando cuando respondiste ahora , hehehhe. Venga encerramos el tema, que ya me salen advances hasta por las orejas :)

FreeYourMind

http://www.gecasoft.no.sapo.pt/

Geca Blaster 2, un juego que cumple 10 años (coincidencia celebra aniversário con el port a Wiz), antiguo y desactualizado pero es al que tengo mayor cariño.

Drumpi

Quote from: FreeYourMind on October 02, 2009, 02:08:23 AMPero si llevamos todo el dia demostrando que no lo es, joer macho  ??? te has leido los posts ? Es tan sencillo como ejecutar el codigo que tenia antiguo de div o Fenix en Bennu y ver que los angulos pequeños del ejemplo no se mueven en el eje X, si incluso tu me dijiste el motivo, por los redondeos !!! Creo que ya estabas soñando cuando respondiste ahora , hehehhe. Venga encerramos el tema, que ya me salen advances hasta por las orejas :)

Algo se me debe estar escapando, pero bueno, yo sólo cuento mi experiencia, con una nave que o metía mucha resolucion, o mucho avance, o la nave no se movía en el ángulo que miraba. Si hay algún error de cálculo no lo se, porque no iba con la calculadora. Puede que hubiera algún bug, no voy a discutirlo.

Dormido no se si estaba, pero lúcido si, es la única forma de capturar un bug :D
Me he tirado hasta las 4 de la mañana intentando resolver un problema de Zs y al parecer no es culpa mía, sino de Fenix. Lo probaré en Bennu a ver si también pasa.
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

Windgate

Oh dios mío, lo hiciste en Fenix...

Yo me pasé a Bennu finalmente tras varios problemas con Fenix que al probar en Bennu dejaban de suceder.
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

splinter_work

Quote from: FreeYourMind on October 01, 2009, 07:56:39 PM
Muchas gracias por el ejemplo, me has resuelto el problema, ahora estas 2 lineas tambien funcionan como en Fenix.

Que haria sin vosotros ;)

No os doy el karma porque solo tengo uno ;)

puedes dar karmas, no se descuentan de los que tienes...

FreeYourMind

Ya me fije lo que era, es solo darle a la mano que apunta hacia abajo  ;D

Por cierto, donde se puede ver quien te los ha dado ?