Delphi-PRAXiS
Seite 5 von 5   « Erste     345   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Jump and Run! need help ! (https://www.delphipraxis.net/81531-jump-run-need-help.html)

Bartuc 5. Dez 2006 18:51

Re: Jump and Run! need help !
 
Zitat:

Delphi-Quellcode:
Delphi-Quellcode:   
else
  Timer2.Enabled := True;

Das funktioniert nicht da Timer2 für das "runterkommen" beim sprung verantwortlich ist.
Und Timer1 für das "hochspringen"

Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if imgcartman.Top = 234 then begin
timer2.enabled := true;
timer1.Enabled := false;
end
else begin
Application.ProcessMessages;
  Imgcartman.Top := Imgcartman.top -5;
end;
end;
procedure TForm1.Timer2Timer(Sender: TObject);
begin
(*if imgcartman.Top = 424 then begin
timer2.enabled := false;
end
else begin*)
  imgcartman.Top := imgcartman.Top +5;
end;


procedure TForm1.Timer3Timer(Sender: TObject);
begin
if IsCollision (Imgcartman.BoundsRect, S_2.BoundsRect) then
  timer2.enabled := false;
  else timer2.Enabled := true;
end;

procedure TForm1.Timer4Timer(Sender: TObject);
begin
if IsCollision (Imgcartman.BoundsRect, S_1.BoundsRect) then
  timer2.enabled := false
  else timer1.enabled := true
end;


Zitat:

Da müsste man den Code sehen.
ich weiß ja nicht wie ich den schreiben soll =)

Bartuc 7. Dez 2006 09:48

Re: Jump and Run! need help !
 
So hab es immerhin jetzt geschafft das ich auf ein höher gelegenes Shape springen kann

Allerdings kann ich seitlich in das Shape reingehen.... Wie kann ich das verhindern?

Delphi-Quellcode:
procedure TForm1.Timer3Timer(Sender: TObject);
begin
if IsCollision (Imgcartman.BoundsRect, S_2.BoundsRect) then
  timer2.enabled := false ;
  end;
procedure TForm1.Timer4Timer(Sender: TObject);
begin
if IsCollision (Imgcartman.BoundsRect, S_1.BoundsRect) then
  timer2.enabled := false
  end;
Timer2 ist für das "runterspringen" verantwortlich

Danke schonmal =)

Cöster 7. Dez 2006 13:39

Re: Jump and Run! need help !
 
Zitat:

Zitat von Bartuc
So hab es immerhin jetzt geschafft das ich auf ein höher gelegenes Shape springen kann

Allerdings kann ich seitlich in das Shape reingehen.... Wie kann ich das verhindern?

Du könntest nach jeder Bewegung gucken, ob die Figur jetzt mit einem Shape kollidiert. Wenn ja, machst du die Bewegung einfach wieder rückgängig.

PS: Ich weiß nicht, was der Code für Timer3 und 4 für einen Sinn haben soll, weil er nichts mit dem Seitwärts-Gehen zu tun hat. Kannst du außerdem die Namen deiner zahlreichen Timer ändern, sodass sie mehr Aussagekraft haben?

Bartuc 7. Dez 2006 20:37

Re: Jump and Run! need help !
 
Zitat:

Zitat von Cöster
Du könntest nach jeder Bewegung gucken, ob die Figur jetzt mit einem Shape kollidiert. Wenn ja, machst du die Bewegung einfach wieder rückgängig.

hm... das Problem ist nur wenn ich sagen das, wenn mein bild von der seite an das shape kommt, das mein bild stehenbleiben soll, kann ich nicht mehr auf das shape springen weil der alle y koordianten dann sperrt.

Also bin da so in einer Zwickmühle.
versuche halt beides zum laufen zu kriegen, aber es will einfach nicht.

Cöster 7. Dez 2006 20:45

Re: Jump and Run! need help !
 
Zitat:

Zitat von Bartuc
hm... das Problem ist nur wenn ich sagen das, wenn mein bild von der seite an das shape kommt, das mein bild stehenbleiben soll, kann ich nicht mehr auf das shape springen weil der alle y koordianten dann sperrt.

Deswegen sag ich ja, erst Bewegung rückgängig. Dann kann man sich danach auch wieder weiterbewegen.

Vll auch die Bewegungen hintereinander ausführen und getrennt voneinander auf Kollision überprüfen:

Wenn die Figur springt und sich gleichzeitig nach vorne bewegt, könntest du die Bewegungen doch hintereinander betrachten: erst y-Bewegung, dann bei Kollision evtl. wieder runter, dann x-Bewegung und bei Kollision nur die Bewegung in x-Richtung rückgängig.

Bartuc 8. Dez 2006 10:22

Re: Jump and Run! need help !
 
Zitat:

Zitat von Cöster

Vll auch die Bewegungen hintereinander ausführen und getrennt voneinander auf Kollision überprüfen:

Wenn die Figur springt und sich gleichzeitig nach vorne bewegt, könntest du die Bewegungen doch hintereinander betrachten: erst y-Bewegung, dann bei Kollision evtl. wieder runter, dann x-Bewegung und bei Kollision nur die Bewegung in x-Richtung rückgängig.

Danke, tolle Idee. hat geklappt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:19 Uhr.
Seite 5 von 5   « Erste     345   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz