Parar en seco a un objeto

Para aquellos que necesitan ayuda inmediata sobre la utilización del modulo.

Parar en seco a un objeto

Postby Spiderman » Wed Aug 20, 2014 1:22 am

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!
User avatar
Spiderman
 
Posts: 761
Joined: Wed Feb 11, 2009 2:49 am

Re: Parar en seco a un objeto

Postby erkosone » Wed Aug 20, 2014 2:15 am

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.

;)
User avatar
erkosone
 
Posts: 10654
Joined: Tue Feb 24, 2009 2:13 pm
Location: Barcelona.

Re: Parar en seco a un objeto

Postby Spiderman » Wed Aug 20, 2014 1:34 pm

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??
User avatar
Spiderman
 
Posts: 761
Joined: Wed Feb 11, 2009 2:49 am

Re: Parar en seco a un objeto

Postby Spiderman » Sat Nov 15, 2014 7:25 pm

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?
User avatar
Spiderman
 
Posts: 761
Joined: Wed Feb 11, 2009 2:49 am

Re: Parar en seco a un objeto

Postby TYCO » Sun Nov 16, 2014 10:09 am

Si hace viento siempre se van a mover un poquito, tienes que decir que es hormigón armado para que no se mueva nada.
Todo Modo Gráfico tiene por detrás una Línea de Comandos.

Proyecto: SnowCraft Remake (100%).
Proyecto: Bomb a Bomb Remake (100%).
Proyecto: Rally Mortal (87%).

[RETO]: 20lineas - [JUEGO]: eLaberinto[CONCURSO]: EL JUEGO DEL VERANO 2011 - [JUEGO]: PlayaBall
User avatar
TYCO
 
Posts: 3582
Joined: Tue Sep 02, 2008 7:38 pm

Re: Parar en seco a un objeto

Postby Spiderman » Sun Nov 16, 2014 5:15 pm

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.
User avatar
Spiderman
 
Posts: 761
Joined: Wed Feb 11, 2009 2:49 am

Re: Parar en seco a un objeto

Postby erkosone » Sun Nov 16, 2014 7:54 pm

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 ;)
User avatar
erkosone
 
Posts: 10654
Joined: Tue Feb 24, 2009 2:13 pm
Location: Barcelona.

Re: Parar en seco a un objeto

Postby Spiderman » Sun Nov 16, 2014 11:22 pm

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.
User avatar
Spiderman
 
Posts: 761
Joined: Wed Feb 11, 2009 2:49 am


Return to Mesa de Ayuda

Who is online

Users browsing this forum: No registered users and 1 guest