Einzelnen Beitrag anzeigen

Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#8

Re: DelphiX - Bewegen ohne zu schlafen^^

  Alt 10. Sep 2005, 12:12
Zitat von DGL-luke:
du solltest Bei Google suchentimebased movement einbauen.

Delphi-Quellcode:
function TPlayer.GetPosition():TVector3d;
var strecke:single;
begin
if self.fMoving then
 begin
  strecke:=speed / (gettickcount - fstarttime);
  {...} //hier die neue position berechnen
 end;
end;
@devnull: das hier is aber eleganter
Also das kapier ich grad gar nicht ^^
Aber das da oben war ja nur eine von meinen 2 Versuchen.

Delphi-Quellcode:
procedure TSpieler.Move2(x1,y1 : Single);
var Strecke : Double;
    xWeg,yWeg, xDiff,yDiff, Schritte,Steigung : Double;
    var i : Integer;
begin
  xWeg := x1 -x;
  yWeg := y1 -y;
  Strecke := Sqrt(Sqr(xWeg)+Sqr(yWeg));
  Schritte := Round(Strecke / 2);
  if Schritte = 0 then Schritte := 20;
  xDiff := xWeg / Schritte;
  yDiff := yWeg / Schritte;
  for i:= 1 to Round(Schritte) do begin
   x := x + xDiff;
   y := y + yDiff;
  end;
end;
Hier ist nur das Problem das die Bewegung viiiel zu schnell geht. Der Spieler ist sofort da. Also als so als wurde ich einfach
Delphi-Quellcode:
Spieler.x := x1;
Spieler.y := y1;
schreiben ...
Michael
  Mit Zitat antworten Zitat