Autor Tema: es valido hacer: collision_box(type mouse)???  (Leído 1029 veces)

alicesimu

  • Sr. Member
  • ****
  • Mensajes: 256
  • Karma: 2
es valido hacer: collision_box(type mouse)???
« 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" ).
 :'( :'( :'(
« última modificación: Noviembre 05, 2016, 01:59:23 pm por alicesimu »

panreyes

  • Administrator
  • *****
  • Mensajes: 2235
  • Karma: 81
    • panreyes.com
Re:es valido hacer: collision_box(type mouse)???
« Respuesta #1 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

alicesimu

  • Sr. Member
  • ****
  • Mensajes: 256
  • Karma: 2
Re:es valido hacer: collision_box(type mouse)???
« Respuesta #2 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.

Futu-block

  • Hero Member
  • *****
  • Mensajes: 2863
  • Karma: 34
  • Superviviente marciano
    • futublock
Re:es valido hacer: collision_box(type mouse)???
« Respuesta #3 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

Drumpi

  • Hero Member
  • *****
  • Mensajes: 6340
  • Karma: 162
  • Odio el periodo "entre proyectos"
    • La web de Drumpi
Re:es valido hacer: collision_box(type mouse)???
« Respuesta #4 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.
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:es valido hacer: collision_box(type mouse)???
« Respuesta #5 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

alicesimu

  • Sr. Member
  • ****
  • Mensajes: 256
  • Karma: 2
Re:es valido hacer: collision_box(type mouse)???
« Respuesta #6 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.

Drumpi

  • Hero Member
  • *****
  • Mensajes: 6340
  • Karma: 162
  • Odio el periodo "entre proyectos"
    • La web de Drumpi
Re:es valido hacer: collision_box(type mouse)???
« Respuesta #7 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
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: 377
Re:es valido hacer: collision_box(type mouse)???
« Respuesta #8 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 )
Download Lastest BennuGD Release: http://www.bennugd.org/node/2