Buenos días ;D
Llevo toda la mañana comiendome la olla con cómo simular un misil que se dirige.
Sólo quiero que se ajuste en el eje X, con lo cual sólo tengo que controlar una dimensión, pero demonios, como cuesta.
El caso es que quiero crear cierto efecto elástico, quiero que vaya aumentando su velocidad (que en el código lo que se llama velocidad en realidad es aceleración) hasta un punto máximo, y luego se pase del objetivo, y vaya frenando hasta que se pare, coja velocidad otra vez, pero en esta ocasión menos velocidad (porque se supone que estaría más cerca) y se reajuste, y así poco a poco hasta que estén alineados.
Este código funciona más o menos, pero no como yo querría ni tampoco entiendo porqué :P
Si alguien me ayuda a que se ajuste así de a poco y luego se tire al cueyo, yo le doy un besito.
while ( y > 0 )
y += direccion;
velocidad=0;
if(cont_ID > 0)
target = IDs_ENEMIGOS[misil%cont_ID]; //cont ID será el máximo valor que se deba alcanzar
end
// el bucle principal llena a cada frame las ids, y el cont_ID siempre estará apuntando a lo último
if (exists(target))
if(target.x < x)
velocidad = -6;
elif (target.x > x)
velocidad = 6;
end
while(exists(target) and y >0 ) //esto es para bloquear el target al que apunta
precision = abs(x - target.x);
if( (x+velocidad > target.x) or velocidad > precision )
velocidad --;
elif(velocidad < 11 )
velocidad +=3;
end
//if (velocidad > 10) velocidad=10; elif (velocidad < -10) velocidad = -10; end
/*if( < 2 ) //para que se lance como un loco
direccion = -16;
else
direccion = -1;
end*/
say("vel "+ velocidad + " x "+ x + " xt " + target.x + " dif "+ precision);
x+=velocidad;
y = y + direccion;
mirilla(target.x,target.y,target.z-100);
frame;
end//while
end
No se si entiendo pero, lo que quieres hacer es que el misil dibuje eses cada vez menos pronunciadas hasta que se centre?
Quote from: Mr Matsusaka on September 02, 2012, 04:24:50 PM
No se si entiendo pero, lo que quieres hacer es que el misil dibuje eses cada vez menos pronunciadas hasta que se centre?
Eso es exactamente lo que quiero,si
Enviado desde mi GT-N7000 usando Tapatalk 2
con near_angle+advance haces eso... pone un angulo medianamente chico como parametro y asi lo vas a lograr.
bueno, para que se vaya frenando vas a tener que usar tambien algo basado en distance...