Duda con speed de MoveObject - Printable Version
+- SA-MP Forums Archive (
https://sampforum.blast.hk)
+-- Forum: Non-English (
https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (
https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (
https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: Duda con speed de MoveObject (
/showthread.php?tid=513096)
Duda con speed de MoveObject -
adri1 - 14.05.2014
Querнa saber si habrнa alguna forma de hacer mover un objeto que salga del punto X, Y, Z lento y que vaya ganando velocidad, y luego cuando vaya por la mitad que vaya parando poco a poco (tipo InterpolateCamera), a mi se me ocurre de una forma (con un loop) pero no se a ver si se os ocurre algo.
Gracias.
Respuesta: Duda con speed de MoveObject -
Miguel_Leopold - 14.05.2014
Ahm
Velocidad = Aceleraciуn * Tiempo
Si tuvieras una aceleraciуn de 3.0 m/(s^2) entonces te recomiendo que hagas un MoveObject cada segundo y al siguiente MoveObject le agregues al parбmetro Speed 3.0 unidades.
Omite lo anterior que dije, ese mйtodo serнa poco preciso pero serнa una aproximaciуn.
Respuesta: Duda con speed de MoveObject -
C1ruj4n0 - 14.05.2014
Con un timer que asigne ++ a la variable tiempo?
Respuesta: Duda con speed de MoveObject -
Swedky - 15.05.2014
pawn Код:
// Podrнas hacer todo esto con 'enum' si deseas.
new Float:Position[MAX_OBJECTS][3];
new Float:Distance[MAX_OBJECTS];
new Float:SpeedObject[MAX_OBJECTS];
new TimerSpeed[MAX_OBJECTS];
stock MoveObjectEx(objectid, Float:fX, Float:fY, Float:fZ, Float:Speed)
{
Position[objectid][0] = fX;
Position[objectid][1] = fY;
Position[objectid][2] = fZ;
Distance[objectid] = GetObjectDistanceToPos(objectid, fX, fY, fZ); // Busca una funciуn, lo encontrarбs por ahн en ******.
TimerSpeed[objectid] = SetTimerEx("SetObjectAcceleration", interval, true, "d", objectid);
MoveObject(objectid, fX, fY, fZ, Speed);
}
forward SetObjectAcceleration(objectid);
public SetObjectAcceleration(objectid)
{
new Float:Dist = GetObjectDistanceToPos(objectid, Position[objectid][0], Position[objectid][1], Position[objectid][0];
SpeedObject[objectid] += (Distance[objectid]-Dist) < Distance[objectid]/2) ? (2.0) : (SpeedObject[objectid] -= 1.0);
MoveObject(objectid, Position[objectid][0], Position[objectid][1], Position[objectid][0], SpeedObject[objectid]);
return 1;
}
Eso serнa una forma, no lo probй, pero creo que te deberнa funcionar bien.