Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: Pejota en Febrero 26, 2014, 10:03:33 PM

Título: Preguntas de pelotas xD
Publicado por: Pejota en Febrero 26, 2014, 10:03:33 PM
¡Buenas!
Soy nuevo en el foro y en Game Maker en general, estoy intentando hacer mi primer juego y tengo unas preguntas:

-He conseguido hacer una pelota y un fondo con paredes en el que rebota con físicas, pero la pelota, en vez de ir botando en el suelo cada vez con menos intensidad, va cojiendo fuerza hasta rebotar con el suelo y el techo a una velocidad vertiginosa x3 y yo lo que quiero es que simule una pelota más o menos real (2-3 botecitos cada vez más débiles y que pare) ¿Alguna idea de cómo arreglar esto?

-He conseguido que dicha pelota se pueda arrastrar con el ratón ó pantalla táctil, pero cuando la sueltas no calcula la inercia y ángulo que llevaba el arrastre de dicha pelota. No solo eso, si no que lleva guardada la inercia que llevaba antes de pararla con el ratón y la continua cuando la suelto. ¿Alguna forma de conseguir el efecto deseado?

Cualquier aporte será de gran ayuda para que no me frustre y lo deje xD
Un saludo.
Título: Re:Preguntas de pelotas xD
Publicado por: penumbra en Febrero 26, 2014, 10:33:49 PM
"En física, la restitución es definida como el retorno de un objeto o sistema a su estado original después de haber sufrido una deformación elástica, pero como los objetos en GM:S se comportan en realidad como cuerpos rígidos y no pueden ser deformados, la restitución es una manera de describir qué tan "rebotante" es un cuerpo. Esta propiedad afecta qué tanto rebota un objeto cuando colisiona contra otro y es co-dependiente de otras fuerzas que actúan sobre la instancia, como la gravedad y la fricción.
Título: Re:Preguntas de pelotas xD
Publicado por: 7sixerCF en Febrero 27, 2014, 03:39:58 PM
ummm nunca e probado un rebote pero intenta agregandole gravedad en la direccion 270 y agregandole el action bounce contra el piso aver que pasa o.o
Título: Re:Preguntas de pelotas xD
Publicado por: elviskelley en Febrero 28, 2014, 12:37:29 AM
solo agrega friction=.2; y listo.
oh! podes hacerlo agregar otra cosa, como esto
if (speed > 0) then {speed -= .1;}
Título: Re:Preguntas de pelotas xD
Publicado por: Pejota en Marzo 12, 2014, 02:50:38 PM
Gracias elviskelley, ya he conseguido que la pelota vaya botando cada vez con menos intensidad, pero aún no se llega a detener. Se queda dando pequeños botecitos sin llegar a posarse en el suelo ¿Alguna idea para rematar las físicas?
Título: Re:Preguntas de pelotas xD
Publicado por: penumbra en Marzo 12, 2014, 06:59:07 PM
Como lo mencioné en mi prmer respuesta: restitución.

Cita de: penumbra en Febrero 26, 2014, 10:33:49 PM
"... la restitución es una manera de describir qué tan "rebotante" es un cuerpo. Esta propiedad afecta qué tanto rebota un objeto cuando colisiona contra otro y es co-dependiente de otras fuerzas que actúan sobre la instancia, como la gravedad y la fricción.

(http://sia1.subirimagenes.net/img/2014/03/12/140312070238701639.jpg)
Título: Re:Preguntas de pelotas xD
Publicado por: Pejota en Marzo 13, 2014, 11:59:17 AM
penumbra, es que por mucho que toco esos parámetros no consigo ningún cambio. A veces le meto cifras muy altas solo para asegurarme de que no ocurre nada y efectivamente, nada. Creo que el problema ahora es más relacionado con que le puse en eventos, que cuando choque con las paredes rebote, y supongo que habrá que meter un comando para que, cuando llegue a X velocidad (muy baja) deje de hacerlo.
Título: Re:Preguntas de pelotas xD
Publicado por: penumbra en Marzo 13, 2014, 07:59:45 PM
Cita de: Pejota en Marzo 13, 2014, 11:59:17 AMle puse en eventos, que cuando choque con las paredes rebote.

AL usar físicas ya no se manejan así las colisiones. El sistema tradicional (el viejo) es un sistma reactivo en donde tu "te la pasas" revisando colisiones, y cuando ocurre una, REACCIONAS a esa colisión especificando acciones. El manual le llama a este sistema reactivo.

El sistema de físicas nuevo es un sistema pasivo en donde lo que haces es definir un mundo con ciertas propiedades físicas y objetos con ciertas propiedades físicas. Estas propiedades son las que controlan cómo interactuan los objetos entre sí. Por ejemplo, la densidad de un objeto y la gravedad del mundo van a definir cuánto rebota (junto con la restitucion) un objeto que cae. Aquí YA NO SE DEBEN usar las variables traducionales como gravity, vspeed, etc ni usar eventos de colisión como se hacía en el sistema viejo.

No hay medias tintas. O usas físicas para todo o usas el sistema tradicional.
Título: Re:Preguntas de pelotas xD
Publicado por: Pejota en Marzo 15, 2014, 11:02:55 AM
Gracias penumbra, más o menos voy saliendo del paso xD.
Otra duda:
¿Alguien sabe como puedo hacer para que la pelota sea destruida si toca/rebota dos veces contra el mismo lugar?