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...
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)