Bennu Game Development

Foros en Español => Mesa de Ayuda => Mensaje iniciado por: alicesimu en Noviembre 05, 2016, 01:27:11 pm

Título: es valido hacer: collision_box(type mouse)???
Publicado por: alicesimu en Noviembre 05, 2016, 01:27:11 pm
holaa


necesito comprobar la colision grafica de un proceso,
en vez de colisionar 2 procesos, uno de ellos se trata del mouse

si del raton, del puntero del raton coordendas del punto de control 0.

y me pregunto si es valido asi:
collision_box(type mouse);

y otra pregunta:
existe una manera de hacerlo SOLO por coordenadas?
collision_box(mouse.x,mouse.y);

 :(

----------------
Se me ocurrre usar esto:

INT box_x0   - The x-coordinate of the topleft corner of the process' graphic (process.x-graphic.width/2).
INT box_y0   - The y-coordinate of the topleft corner of the process' graphic (process.y-graphic.height/2).
INT box_x1   - The x-coordinate of the bottomright corner of the process' graphic (process.x+graphic.width/2).
INT box_y1   - The y-coordinate of the bottomright corner of the process' graphic (process.y+graphic.height/2).

para hacer una comprobacion por caja/box, y hacer la condicion:

Código: [Seleccionar]
if(Reserved.box_x0<mouse.x and Reserved.box_x1>mouse.x);
if(Reserved.box_y0<mouse.y and Reserved.box_y1>mouse.y);

-----------
Ahh mierda, me da error de compilacion!!
error: Unknown identifier ( error in token: "BOX_X0" ).
 :'( :'( :'(
Título: Re:es valido hacer: collision_box(type mouse)???
Publicado por: panreyes en Noviembre 05, 2016, 09:50:03 pm
Tengo entendido que sí, pero siempre es más cómodo hacer las colisiones con un proceso que tenga siempre la posición del ratón
Título: Re:es valido hacer: collision_box(type mouse)???
Publicado por: alicesimu en Noviembre 05, 2016, 10:13:57 pm
Tengo entendido que sí, pero siempre es más cómodo hacer las colisiones con un proceso que tenga siempre la posición del ratón

LOL con un proceso?? copiais las cordenadas de mouse.x mouse.y y lo aplicas al proceso?

En DIV2, poniendo COLLISION(TYPE mouse);
le daba por buena, con colision con su punto de control central 0.
Título: Re:es valido hacer: collision_box(type mouse)???
Publicado por: Futu-block en Noviembre 05, 2016, 11:12:21 pm
Yo uso un sistema de mi invencion que puede que te sirva; Uso una funcion que me divide la pantalla en una cuadricula, al clicar en un punto divide la x/y del raton y te devuelve la casilla correspondiente, ya sea por numero o por coordenada (casilla 8,5 por ejemplo)

No se si es eso lo que necesitas
Título: Re:es valido hacer: collision_box(type mouse)???
Publicado por: Drumpi en Noviembre 07, 2016, 12:47:50 pm
El collision (type mouse) funciona en BennuGD, no la liemos. Realiza la comprobación entre cualquier pixel > 0 del proceso que lo llama, y sólo con el punto central del ratón (no colisiona mouse.graph, sólo el "hotspot" del mismo). Es más, creo que mouse no necesita ni siquiera graph para colisionar, pero intenta probarlo :D
También funciona collision_box (type mouse), y con cualquier type (nombredeproceso) que quieras.

Si quieres que colisione con el gráfico del ratón, tendrás que crear un proceso aparte que siga al ratón con muy alta prioridad.
Título: Re:es valido hacer: collision_box(type mouse)???
Publicado por: panreyes en Noviembre 07, 2016, 01:14:51 pm
Lo que dice Drumpi es lo que pensaba yo. Collision mouse solo comprueba el punto central del ratón, no el gráfico que tenga asignado
Título: Re:es valido hacer: collision_box(type mouse)???
Publicado por: alicesimu en Noviembre 07, 2016, 01:50:35 pm
Lo que dice Drumpi es lo que pensaba yo. Collision mouse solo comprueba el punto central del ratón, no el gráfico que tenga asignado

Si es lo que creo la en la teoría.
Y juraría que es obligatorio asignar algún grafico al mouse.graph para que colisión(type de por buena la colisión únicamente por el punto central 0 .no por si el grafico como los procesos.
Título: Re:es valido hacer: collision_box(type mouse)???
Publicado por: Drumpi en Noviembre 07, 2016, 01:54:03 pm
No lo sé, pero te animo a que lo compruebes... si es que eres capaz de ver un puntero invisible colisionando :D :D ^^U
Título: Re:es valido hacer: collision_box(type mouse)???
Publicado por: SplinterGU en Noviembre 07, 2016, 06:17:17 pm
si el punto mouse.x y mouse.y colisiona con algo

a bruto modo

if ( pixel_escena( mouse.x, mouse.y ) ) colision! (considera scale, scalex, scaley, angle )