Page 1 of 1

Parar en seco a un objeto

PostPosted: Wed Aug 20, 2014 1:22 am
by Spiderman
Hola a todos!

Dentro de un programa que estoy haciendo uso la instruccion Physics_entity_add_velocity para dar velocidad a un objeto en una direccion determinada. Hasta ahi ningun problema.

Resulta que cuando la velocidad de un objeto se va reduciendo y ya es muy baja, casi 0, se hace eterno que este objeto se pare del todo.

Queria saber si hay alguna manera sencilla de frenarlo en seco cuando la velocidad ya es practicamente minima.

Algo asi como If (velocidad<1) velocidad=0 end.

Entiendo que hayando la velocidad actual del objeto y su direccion basta con aplicarle una fuerza igual pero contraria. Pero lo que queria saber es si hay un stop o algo que facilite no tener que recurrir a escribir tanto codigo.

Gracias de antemano!

Re: Parar en seco a un objeto

PostPosted: Wed Aug 20, 2014 2:15 am
by erkosone
Physics_entity_set_velocity();
Physics_entity_set_vx();
Physics_entity_set_vy();

Con la primera especificas angulo 0.0 y velocidad 0.0 y listos, te para el objeto por completo en ambos ejes.

;)

Re: Parar en seco a un objeto

PostPosted: Wed Aug 20, 2014 1:34 pm
by Spiderman
Gracias Erkosone!!

Pero no me funciona! :(

Este es el codigo...

Code: Select all
 

REPEAT
                   
            Physics_entity_get_velocity( id_bola[21], &velocidad, &orientacion);   
              
              FRAME;
                                      
UNTIL ( velocidad<1)

   Physics_entity_set_velocity(id_bola[21], 0, 0);



Cuando el programa sale del bucle y llega al set_velocity en lugar de seguir funcionando se para y se cierra. Que estoy haciendo mal??

Re: Parar en seco a un objeto

PostPosted: Sat Nov 15, 2014 7:25 pm
by Spiderman
Vuelvo un poco a sacar este tema porque me trae de cabeza.

Hay objetos que al crearlos los coloco en el escenario y muy bien. Ahi se quedan quietecitos. Pero otros se mueven y no se el porque.

Pasa un poco como en el ejemplo numero 7 del tutorial de Erkosone, el de la soga. Al crearla no deberia quedarse completamente quieta?

Re: Parar en seco a un objeto

PostPosted: Sun Nov 16, 2014 10:09 am
by TYCO
Si hace viento siempre se van a mover un poquito, tienes que decir que es hormigón armado para que no se mueva nada.

Re: Parar en seco a un objeto

PostPosted: Sun Nov 16, 2014 5:15 pm
by Spiderman
Y sin embargo se mueve...como diria Copernico, jeje

Gracias por la respuesta TYCO, pero el viento donde lo definimos?

yo solo pongo la sentencia

Physics_world_set_gravity( 98.0, 90000.0 );

Donde se establece la gravedad y el angulo de la misma en el mundo que creamos.

El tema viento no se si se puede definir. Imaginaba que de no crearlo su valor seria cero.

Re: Parar en seco a un objeto

PostPosted: Sun Nov 16, 2014 7:54 pm
by erkosone
Hola Spiderman, simplemente se mueven de inicio por que están parcialmente solapados con otra entidad o con el terreno, solo has de colocarlos en una posición donde realmente no haya solapamiento ;)

Re: Parar en seco a un objeto

PostPosted: Sun Nov 16, 2014 11:22 pm
by Spiderman
Gracias a todos. La verdad es que estoy un poco verde en el uso de esta libreria. Aun no conociendo bien como usarla me parece una maravilla.

De momento he encontrado una forma de minimizar ese ligero balanceo usando una viscosidad que simule la densidad atmosfera con la instruccion

Physics_world_set_damping( float damping_ ) y poniendo un valor mayor de cero.

Si no se usa esta instruccion los objetos y las colisiones se comportan un poco como en la pelicula Gravity. El que la haya visto se puede imaginar un poco lo que digo.