Dudas diversas!!

Started by ErPera, April 06, 2011, 03:02:56 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

SplinterGU

si quieres poner un codigo completo, compilable con rescursos para probar, algo simple donde podamos tocar el codigo y mostrarte que estas haciendo mal, no dudes en hacerlo.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

gukan

Quote from: ErPera on May 04, 2011, 04:52:53 PM
Me funcionó lo que decís, solo que me pasa una dudilla, que probablemente sea una tonteria.

REPEAT

while(cont<10)
IF(map_get_pixel(0,16,x+1,y)==colorObstaculo)
[b]ID_disp=get_id(type disparo);
signal(ID_disp,s_kill);[/b]
break;
else
x+=1;
end
cont++;
end
cont=0;
FRAME;

if(graph!=15)
graph+=1;
end


UNTIL (x>x+240)


El signal se carga todos los disparos, es decir el get_id está mal... he probado poniendo (son) en ves de (type disparo) pero nada, ¿Cómo recogo bien el ID?

Y aquí termina mi primera duda de las 2 planteadas  ;D

El problema que yo veo aqui es que estas intentado usar el s_kill cuando en realidad no lo necesitas para nada.
El codigo que pones aqui es el que hace la comprobación de la colisión con la pared... y lo estas haciendo dentro del proceso disparo que esta colisionando, por tanto poniendo dentro del IF que te confirma que ha colisionado cualquier instrucción que te haga salir del repeat solucionara tu problema:


heChocado=false;
REPEAT

while(cont<10)
IF(map_get_pixel(0,16,x+1,y)==colorObstaculo)
heChocado=true;
break;
else
x+=1;
end
cont++;
end
cont=0;
FRAME;

if(graph!=15)
graph+=1;
end


UNTIL (heChocado || x>x+240)


ErPera

#32
Quote from: gukan on May 11, 2011, 08:19:06 AM

heChocado=false;
REPEAT

while(cont<10)
IF(map_get_pixel(0,16,x+1,y)==colorObstaculo)
heChocado=true;
break;
else
x+=1;
end
cont++;
end
cont=0;
FRAME;

if(graph!=15)
graph+=1;
end


UNTIL (heChocado || x>x+240)



Gracias Gukan!!!!!
Una tontería así de siemple, y le estamos dando vueltas aquí todos como locos, y no era más que eso.
Me a funcionado perfectamente!!!
Un peso de encima que me has quitado, porque llevaba cierto tiempo estancado ahí

-----------------------------------------------------------------------------------------------------------

Mi segunda duda, que puse, más o menos la resolví, pero de modo parcheado, tenía una imagen, y como la que ponia cuando chocara era más alta, pues mi muñeco bajaba, y quería saber, si hay forma de que aunque la imagen de otro movimiento sea más alta que las demás, hay forma de que no coja el centro de la imagen.
Es decir, yo ponía mi personaje corriendo y iba perfecto, pero en el momento que se paraba con la pistola y la ponia por encima d su cabeza, la imagen era mas grande y claro, se ponen los pies bajo tierra.
Supongo que para solucionar eso, tendría que poner a todas las imagenes el mismo alto, aunque sea vacío. Pero ya que puse la duda y el post, pues me aseguro.

Me queda un mes para el proyecto, y puede que esté algo pesado por aquí preguntando las dudas que no encuentre por los manuales y me vayan surgiendo.

La verdad es que se os agradece la ayuda a todos, porque echais bastante el cable.

gukan

Quote from: ErPera on May 11, 2011, 03:15:05 PM
Mi segunda duda, que puse, más o menos la resolví, pero de modo parcheado, tenía una imagen, y como la que ponia cuando chocara era más alta, pues mi muñeco bajaba, y quería saber, si hay forma de que aunque la imagen de otro movimiento sea más alta que las demás, hay forma de que no coja el centro de la imagen.
Es decir, yo ponía mi personaje corriendo y iba perfecto, pero en el momento que se paraba con la pistola y la ponia por encima d su cabeza, la imagen era mas grande y claro, se ponen los pies bajo tierra.
Supongo que para solucionar eso, tendría que poner a todas las imagenes el mismo alto, aunque sea vacío. Pero ya que puse la duda y el post, pues me aseguro.

Me queda un mes para el proyecto, y puede que esté algo pesado por aquí preguntando las dudas que no encuentre por los manuales y me vayan surgiendo.

La verdad es que se os agradece la ayuda a todos, porque echais bastante el cable.
Una solucion es esa de crear todal las imagenes iguales, seguramente la solución más facil.

En Div/Div2 (y seguramente tambien en Bennu) tenias la opción de poner puntos de control en la imagen, el punto de control 0 creo que representaba el centro de la imagen y donde se situaba la x,y del proceso. Asi que un punto de control 0 bien situado te permitiria solucionar eso... aunque para esto mejor esperar a alguien que lo confirme y que te diga como se puede hacer en Bennu!

Drumpi

Tal como dice Gukan, cambia el punto de control 0 de la imagen:
-Usando FPGEdit, FPG point edit o cualquier otro programa externo con soporte para cambiarlos.
-Usando SET_CENTER desde el código, esto no modifica el FPG que tengas en disco.
-Usando SET_POINT con el punto 0.
Alternativas no faltan, lo complicado es dar con la posición correcta de dicho punto ^^U
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)

ErPera

Vale vale gracias.
La verdad es que si... es forma de complicarse lo del punto de control, porque a ver como atino para ponerla en la posición correcta. Así que lo que tendré que hacer será aumentar el tamaño de las imágenes y ya está.

Graciasss!!!!! =)

Pronto volveré para seguir dando el coñazo  ;D

Drumpi

Lo normal es cambiar el punto de control, y si estás haciendo un plataformas, ponerlo en el centro, pero a los pies, es una referencia más sencilla de ajustar.
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)

ErPera

Quote from: Drumpi on May 12, 2011, 07:20:30 PM
Lo normal es cambiar el punto de control, y si estás haciendo un plataformas, ponerlo en el centro, pero a los pies, es una referencia más sencilla de ajustar.

Cierto. La verdad que antes no tenia ni idea para que sirven los puntos de control ni como se usaban. Sabía que se podían poner desde el FPG Edit pero no sabía para que usarlos.

Gracias por la idea!