Proyecto 'Ranita'

Started by Futu-block, February 10, 2010, 11:21:58 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Futu-block

gracias por lo pron...

puede un proceso hacer el break en otro???
o tendria que poner una variable en true para ''breakar'' el proceso o procesos...

Drumpi

Break sólo rompe el bucle en el que está escrito, no tiene sentido lo que dices.
Si lo que quieres es que otro proceso salga de un bucle o un estado, tendrás que indicárselo de alguna forma, cambiando su estado (mediante una variable, ya sea global, local o pública), matándolo (on_exit) o congelándolo y haciendo el resto de operaciones desde otro proceso.
También ten en cuenta que cuando A colisiona con B, B colisiona exactamente igual con A en el mismo frame (si no se cambian sus coordenadas), te lo digo a modo de ejemplo.
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)

Futu-block

si, todavia me quedan las colisiones...
pero por lo pront, tengo otros interrogantes entre manos; crear el mismo proceso varias veces en posiciones distintas y con distintos graph, al hacerle un break a los (por ejemplo) cuatro, rompe el loop de los cuatro a la vez?????

seguire indagando...

Drumpi

No, el break sólo funciona de forma "privada", rompe el bucle en el que está, no el de otros procesos, como te he dicho antes.
Y no te tomes lo de colisión textualmente: lo que digo es que si A está a x pixels de B, B también está a x pixels de A, por lo que en lugar de buscar que A actúe sobre B puedes hacer que A actúe y B actúe, cada uno por su cuenta.
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)

Futu-block

pues entonces es lo que tenia entendio, siempre que usaba colisiones mandaba al otro lo que tiene que hacer el uno, para no sobrecargarlo de acciones...


DCelso

#20
Creo que Splinter se refiere a este,
http://forum.bennugd.org/index.php?topic=1149.msg17259#msg17259

Se usa parecido a signal, pero para guardar el estado de todos los procesos implicados.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

Futu-block

#21
bueno, no nos olvidemos de lo que queria: crear el mismo proceso en varios lugares y con distintos graph...

segun el tema 17 Parametros, me dice que ponga entre parentesis unos parametros para cuando lo ejecute...

pues entonces probaré con process cosa(x,y,graph) y con process cosa(int x,int y,int graph) a ver cual funciona y lo comento


probar y probar y probar y probar y probar y probar y probar y probar y probar y probar y probar
ok, hay que declarar el dato, osea el: process cosa(int x,int y,int graph)

Drumpi

El INT no es necesario en este caso: los parámetros son tomados como INT por defecto, pero si vas a usar otros tipos (BYTE, WORD, punteros...) sí que es necesario.
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)

DCelso

A ver si se te ha olvidado meter la mod_video, que es donde están definidas las variables x,y,graph, etc (tal y como me apuntó SplinterGu en otro post :D) y por eso has necesitado poner "int", ya que poniendo "int x" defines una nueva variable x y por eso te va.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

Hokutoy

La verdad es que para mí, lo mas comodo cuando empiezo un programa nuevo, es usar un include que carga TODOS los modulos existentes. Así me evito problemas de que falta uno u otro modulo.
Cuando he finalizado el proyecto u estoy depurando para conseguir mas RAM  o mejor rendimiento si que me dedico a eliminar los modulos que no utilizo.

Imagino que a base de experiencia uno aprende para que sirve cada modulo de memoria.

Saludos!

Futu-block

Quote from: DCelso on February 16, 2010, 03:34:09 PM
A ver si se te ha olvidado meter la mod_video, que es donde están definidas las variables x,y,graph, etc (tal y como me apuntó SplinterGu en otro post :D) y por eso has necesitado poner "int", ya que poniendo "int x" defines una nueva variable x y por eso te va.


pos nol, lo que pasa que para definir otra vez la x, y + graph, le doy unas variables nuevas y la asigno en el proceso


Quote from: Drumpi on February 16, 2010, 01:47:07 PM
El INT no es necesario en este caso: los parámetros son tomados como INT por defecto, pero si vas a usar otros tipos (BYTE, WORD, punteros...) sí que es necesario.

BYTE es de 0 hasta 255 ¿no? insuficiente para el ancho de pantalla pero perfecto para el alto...
¿hay algo mas pequeño que BYTE???

Drumpi

No: byte es la unidad mínima de información que maneja un ordenador (si exceptuamos el bit, pero no tiene nada que ver con lo que estamos tratando). Por encima tienes word (2 bytes) e int (4 bytes). También les puedes añadir prefijos como SIGNED y UNSIGNED: con signed reduces a la mitad el valor máximo a representar, pero ganas los correspondientes negativos.
Otros tipos que conozco son los FLOAT (números con decimales), CHAR (byte que representa un caracter), STRING (cadena de CHARs de tamaño variable) y POINTER (punteros). No sé si me dejo alguno.
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)

Rein (K´)ah Al-Ghul

hablando de tipos de datos
STRING tiene algun limite en la cantidad de caracteres???

Rein (K´)ah Al-Ghul
Infected with the Krieger strain of the Human-MetaHuman Vampiric Virus.

en vez de darme Karma positivo, denme (K´)arma negativ

Drumpi

No estoy seguro, pero creo recordar que había una limitación a 256 o 512 caracteres, pero no me hagas mucho caso, lo mismo es una "clase" que maneja un puntero y puede tener tantas letras como quieras.
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

Download Lastest BennuGD Release: http://www.bennugd.org/node/2