Autor Tema: Aaaaah, estoy ciegooo  (Leído 2935 veces)

Drumpi

  • Hero Member
  • *****
  • Mensajes: 6340
  • Karma: 162
  • Odio el periodo "entre proyectos"
    • La web de Drumpi
Aaaaah, estoy ciegooo
« en: Junio 13, 2010, 11:42:17 pm »
Hola a todos:

Pues nada, una cuestión tonta de las mías.
El siguiente código es un minijuego de averiguar la clave, pero tengo problemas en level_1b.inc. Por alguna razón que no logro ver, el proceso l1_teclado ignora la colisión con el proceso l1t_cucaracha, cuando unas pocas lineas después sí que funciona con otros procesos usando el mismo sistema.
He leido el código durante 3 horas, he descansado y he vuelto a mirarlo, e incluso me he ido a cenar, he visto una peli y he vuelto a mirar sin resultado.
Seguro que es una tontería, pero no veo el fallo.
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)

panreyes

  • Administrator
  • *****
  • Mensajes: 2235
  • Karma: 81
    • panreyes.com
Re: Aaaaah, estoy ciegooo
« Respuesta #1 en: Junio 13, 2010, 11:45:23 pm »
¿Sabes que se cambió el modo en el que collision funciona para poder recoger todos los ids de todos los procesos con los que se colisiona?

Con esto quiero decir: sólo te dará por bueno una colisión en cada frame. Luego te devolverá 0

Drumpi

  • Hero Member
  • *****
  • Mensajes: 6340
  • Karma: 162
  • Odio el periodo "entre proyectos"
    • La web de Drumpi
Re: Aaaaah, estoy ciegooo
« Respuesta #2 en: Junio 14, 2010, 12:54:06 am »
¿Eso significa que ahora no se puede comprobar la colisión con dos tipos distintos de procesos? :(
De todas formas, lo raro es que me hace bien la SEGUNDA comprobación después del frame, no la PRIMERA, que es la de la cucaracha.
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

  • Hero Member
  • *****
  • Mensajes: 2930
  • Karma: 124
    • TRINIT Asociación de Informáticos de Zaragoza
Re: Aaaaah, estoy ciegooo
« Respuesta #3 en: Junio 14, 2010, 12:57:17 am »
¿Sabes que se cambió el modo en el que collision funciona para poder recoger todos los ids de todos los procesos con los que se colisiona?

Con esto quiero decir: sólo te dará por bueno una colisión en cada frame. Luego te devolverá 0

¿Estás seguro de eso? ¿Desde cuándo? ¿Por qué?
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

panreyes

  • Administrator
  • *****
  • Mensajes: 2235
  • Karma: 81
    • panreyes.com
Re: Aaaaah, estoy ciegooo
« Respuesta #4 en: Junio 14, 2010, 01:13:11 am »
Mexplico. Suponiendo una única instancia de cada uno de estos dos procesos:

Código: [Seleccionar]
process uno();
begin
 loop
  if(collision(type dos)) /*este siempre funcionará*/ end
  if(collision(type dos)) /*y este nunca funcionará*/ end
  frame;
 end
end

process dos();
begin loop frame; end end

Windgate

  • Hero Member
  • *****
  • Mensajes: 2930
  • Karma: 124
    • TRINIT Asociación de Informáticos de Zaragoza
Re: Aaaaah, estoy ciegooo
« Respuesta #5 en: Junio 14, 2010, 02:16:48 am »
Te entiendo, ¿Pero por qué ese cambio?

Anteriormente era muy sencillo usar WHILE ( collision ( type lo_que_sea ) ) y contabilizar el número exacto de procesos en colisión durante el mismo FRAME...
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

SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12905
  • Karma: 378
Re: Aaaaah, estoy ciegooo
« Respuesta #6 en: Junio 14, 2010, 11:01:21 am »
eso siempre fue asi, ese funcionamiento nunca se cambio... es solo cuestion de logica y coherencia, si estas barriendo una cosa, debes barrer esa cosa y luego barrer otra.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12905
  • Karma: 378
Re: Aaaaah, estoy ciegooo
« Respuesta #7 en: Junio 14, 2010, 11:01:57 am »
Te entiendo, ¿Pero por qué ese cambio?

Anteriormente era muy sencillo usar WHILE ( collision ( type lo_que_sea ) ) y contabilizar el número exacto de procesos en colisión durante el mismo FRAME...

antes y ahora, eso es lo que hay que hacer.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12905
  • Karma: 378
Re: Aaaaah, estoy ciegooo
« Respuesta #8 en: Junio 14, 2010, 11:04:08 am »
Mexplico. Suponiendo una única instancia de cada uno de estos dos procesos:

Código: [Seleccionar]
process uno();
begin
 loop
  if(collision(type dos)) /*este siempre funcionará*/ end
  if(collision(type dos)) /*y este nunca funcionará*/ end
  frame;
 end
end

process dos();
begin loop frame; end end

si hay 1 sola instancia es logico que pase eso, pero si pones otro collision mas si te reportara la colision... por que? simplemente porque cuando el colision termina y ya no encuentra mas, da 0, sino siempre estarias en un ciclo eterno y no se podria hacer un while collision... elemental mi querido PiXeL
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Drumpi

  • Hero Member
  • *****
  • Mensajes: 6340
  • Karma: 162
  • Odio el periodo "entre proyectos"
    • La web de Drumpi
Re: Aaaaah, estoy ciegooo
« Respuesta #9 en: Junio 14, 2010, 12:46:12 pm »
Pues si la cosa no ha cambiado, sigo sin ver por qué no detecta colisión con la cucaracha y sí con las teclas. Me consta que se guarda bien la ID en la variable que chequeo, y me consta que se superpone, y todo está correcto... salvo en lo que he metido la pata, que no sé lo que es. Empiezo a pensar que tiene alguna relación el que cada proceso tenga una resolution distinta, cosa que no debería afectar, pero también probé poniéndole a la cucaracha una resolution=1.
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

  • Hero Member
  • *****
  • Mensajes: 12905
  • Karma: 378
Re: Aaaaah, estoy ciegooo
« Respuesta #10 en: Junio 14, 2010, 04:05:59 pm »
no recuerdo que pasa si tiene resolucion diferente, no hay cambios en colision desde fenix o las beta iniciales de bennu...

le voy a echar un ojo a tu codigo...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Drumpi

  • Hero Member
  • *****
  • Mensajes: 6340
  • Karma: 162
  • Odio el periodo "entre proyectos"
    • La web de Drumpi
Re: Aaaaah, estoy ciegooo
« Respuesta #11 en: Junio 14, 2010, 06:38:58 pm »
Que conste que no he hecho "correciones raras" de las mías a la espera de confirmar mi error o fallo de Bennu, que luego me dices que no reporto ;D
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

  • Hero Member
  • *****
  • Mensajes: 12905
  • Karma: 378
Re: Aaaaah, estoy ciegooo
« Respuesta #12 en: Junio 14, 2010, 10:22:27 pm »
je, esperame que lo miro en un rato...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12905
  • Karma: 378
Re: Aaaaah, estoy ciegooo
« Respuesta #13 en: Junio 14, 2010, 11:10:42 pm »
si te refieres a esta porcion de codigo...

       if (teclas[mouse_left][2]==1)
            //temp=collision(l1t_cucaracha_id);
            //say(itoa(temp));
            if (collision(l1t_cucaracha_id))
                say("hola");
            else

a mi si que me funciona, me pone "hola"

ah, cierto, esto ya lo habiamos visto, ahora recuerdo, un proceso de 1x1 nunca va a colisionar, se necesita al menos un grafico de ancho 2.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Drumpi

  • Hero Member
  • *****
  • Mensajes: 6340
  • Karma: 162
  • Odio el periodo "entre proyectos"
    • La web de Drumpi
Re: Aaaaah, estoy ciegooo
« Respuesta #14 en: Junio 15, 2010, 01:33:07 am »
Esto se merece un

¡¡PLOINK!!

En toda regla ^^U
¿Y eso? ¿es alguna limitación, algun bug o por decisión propia? Tiene miga la cosa, un mapa de 2x2 con un único pixel no-transparente hace lo mismo pero hay que saberlo.

Bueno, mañana sigo con este y el otro.

UPS, lo olvidé: GRACIAS SPLINTER :)
« última modificación: Junio 15, 2010, 01:51:09 am por Drumpi »
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)