Re: Grenzen? Oo
Schau dir mal aus der Math-Bibliothek die Funtion EnsureRange an:
Delphi-Quellcode:
Macht eigentlich das gleiche, find ich aber eleganter ;-)
Maus.Left := EnsureRange(Maus.Left, 0, ClientWidth - Maus.Width);
|
Re: Grenzen? Oo
Delphi-Quellcode:
Pack den Code lieber nicht ins KeyPress sondern ans Ende von deinem Timer1, sodass das nach jeder Bewegungsaktion überprüft wird.
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin if (Maus.Left+Maus.Width) > ClientWidth then Maus.Left := ClientWidth - Maus.Width; If (Katze.Left+Katze.Width) > ClientWidth then Katze.Left := ClientWidth-Katze.Width; If (Maus.Top+Maus.Height) > ClientHeight then Maus.Top := ClientHeight - Maus.Height; If (Katze.Top+Katze.Height) > ClientHeight then Katze.Top := ClientHeight-Katze.Height; end; Außerdem prüfst du nicht auf <0. Ist das beabsichtigt? So können Maus und Katze nämlich nach links und oben abhauen. |
Re: Grenzen? Oo
Könntest du dir bitte auch den gesammten Beitragsdablauf durchlesen? :roll:
|
Re: Grenzen? Oo
Zitat:
Ich habe mir lediglich sein Projekt wie es jetzt ist angeschaut und bin auf das gestoßen, weshalb ich ihn noch einmal drauf hinweise. |
Re: Grenzen? Oo
Zitat:
|
Re: Grenzen? Oo
Ich denke auch, dass es irreführend ist, wenn man als newbie keine Antworten auf die eigentliche Frage bekommt, sondern ständig am Thema vorbeiführende "Verbesserungsvorschläge" bekommt.
Wenn er es mit einem DirectInput lösen will (vielleicht soll das ganze Spiel später einmal DirectDraw und co. benutzen) ist OnIdle oder Timer (Sei es der Windows-Timer oder ein Multimedia-Timer) einfach die richtige Wahl. Ich habe fertig. |
Re: Grenzen? Oo
>-< eehm ich bin neu im Forum aber nicht mit Delphi >-< und ja es ist bveabsiuchtigt das 0 nicht geprüft wird. Da soll dann später der Eingang und AUsgang sein (fürs nächste lvl) also bis jetzt erst mit einem Rect verspürrt Oo und irgentwie finde ichs nicht raus =( Ich könnte das ganze einfach mit einem Rect abkürzen aber OO naja ich würde gerne wissen wieso das nicht geht damit ichs nächtes mal besser weiß!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:45 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz