Enero 15, 2010, 09:23:27 PM Ultima modificación: Enero 16, 2010, 12:57:00 PM por bartolojc
hola, como puedo hace que un objeto con la variable vel, que esta variable aument en cuanto mas cerca este de objeto 2, y disminuya en cuanto mas lejos este del objeto 2, parece y tendria que ser facil, pero no se me ocurre como T.T ?alguna idea?
gracias por leer, un saludo

regla de tres inversa

calculas la distancia

y usas la regla de 3...
Cita de: CGM 2008CGM: Un poco mas serios, mejores Juegos.
Bienvenid@ a CGM. Recomenzamos desde cero, con un reglamento mas estricto, mejor definido y con mas ganas que nunca de hacer juegos con calidad comercial. El que avisa no es traidor: Leete las reglas si no quieres llevarte un capon makero.
Mercilessly!!
Plug-In para animaciones: http://ciberman.net/tweenline/

con una funci?n y listo.
La funcion se debe amoldar a tus necesidades, as? como de lo que pretendas. Digamos que quieres que la velocidad maxima que obtendr? el objeto 1 ser? de 20, y como la speed es igual a la variable vel, entonces:
speed=vel
vel=20/(point_distance(x,y,obj_2.x,obj_2.y))

De esta manera, entre m?s lejos est?, m?s lento ir?, aun que existe el problema a que a una distancia mayor de 20 pixeles, la velocidad ser? de menos de 1.
Para eso le pondemos mejorar a que cambie velocidad cada 15 pixeles, entonces:
vel=20/(point_distance(x,y,obj_2.x,obj_2.y)/15)

de esta manera a una distancia de 150 pixeles, tendr? una velocidad de 10, a una distancia de 1 pixel tendr? una distancia muy aproximada a los 20, y a una distancia de 300 pixeles tendr? una distancia de 1, a distancias mayores de 300, tendra velocidades muy menores a 1. Podremos redondear el resultado y hasta la divisi?n, como mas te guste.
Hay otras formas de realizar la funcion, como dije anteriormente, eso ya dependeria de como lo quieras.

espero y te haya servido, saludos  ;)

claro XD gracias a los dos, las dos maneras funcionan.
(regla de tre inversa, como no, parece mentira que este estudiando matem?ticas XD)