Diciembre 21, 2009, 01:45:53 AM Ultima modificación: Diciembre 22, 2009, 05:58:55 PM por knd144
hola
Resulta que estoy intentando hacer un script que devuelva la direcci?n resultado de un objeto al rebotar contra otro (como un bloque, por ejemplo) considerando una variable que represente la resistencia que opone el objeto golpeado (en este caso la variable peso, aun que no refiere especificamente al peso real  :P ); la cosa es que ya tengo las cuentas hechas y el script listo, perooooo pasa que la direcci?n que toma despu?s de la colision es algo erronea si lo consideramos desde el punto de vista real.

Lo que fallan no creo que sean los calculos que los he repasado un par de veces, lo que veo es que al considerar la fuerza que ejerce el bloque hacia el objeto (en este caso un balon) se considera la direcci?n desde el centro del bloque en lugar de tomar encuenta la direcci?n desde el punto de colision con el balon, o sea que si el balon golpea a un bloque casi por la esquina izquierda por la parte superior, no se considera que el bloque ejerce una resistencia en direcci?n de 90 grados sino a un grado superior como de 140 grados, lo que nos d? un ?ngulo m?s agudo en lugar de uno obtuso como deberia ser  :'(

Para que vean el problema ustedes mismos, les pongo el programa con el script y todo.

El balob se ueve con las flechas y se puede reiniciar con la tecla R y con S se detiene

Adjunto una imagen que aclara mas mi problema, en el se ve al balon golpeando al bloque y la direcci?n que tiene (en este caso hacia abjo) se muestra con la flecha negra, y la flecha verda muestra la fuerza que ejerce el bloque con el rebote; la primera imagen muestra la direccion que ejerce el bloque desde el centro hacia el balon, y la segunda imagen muestra el como deberia ser la direccion de la fuerza  :'(

nadie tiene ni idea de como solucionarlo?  ???

o no me di a entender :-[

?Por qu? tanto relajo? Simplemente:
move_bounce_solid(false);
Vim.

Wadk, la funci?n move_bounce_solid(false) solo redirecciona de manera sim?trica, sin tomar en cuenta la velocidad del objeto al colisionar, y es que f?sicamente no es lo mismo la direcci?n que toma un objeto que choca a 10km/h a uno que choca a 60km/h. Ni tampoco si el objeto contra el que colisiona tiene el suficiente peso como para rechazarlo o si bien no pesa lo suficiente y es empujado... Para ello la funci?n del escript, para calcular la redirecci?n exacta (mas o menor  :-[ ) tomando en cuenta estos factores.

No creo que la velocidad importe... prob? y vas a ver que la funci?n anda bien.
Sobre lo del peso, se arregla con una variable peso para cada objeto y un if.
Vim.