AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Grenzen? Oo

Ein Thema von Rickiwarhammer · begonnen am 15. Mär 2007 · letzter Beitrag vom 19. Mär 2007
Antwort Antwort
Seite 2 von 2     12   
SirTwist

Registriert seit: 28. Sep 2006
198 Beiträge
 
Delphi XE Professional
 
#11

Re: Grenzen? Oo

  Alt 17. Mär 2007, 10:39
Schau dir mal aus der Math-Bibliothek die Funtion EnsureRange an:
  Maus.Left := EnsureRange(Maus.Left, 0, ClientWidth - Maus.Width); Macht eigentlich das gleiche, find ich aber eleganter
  Mit Zitat antworten Zitat
Benutzerbild von inherited
inherited

Registriert seit: 19. Dez 2005
Ort: Rosdorf
2.022 Beiträge
 
Turbo Delphi für Win32
 
#12

Re: Grenzen? Oo

  Alt 17. Mär 2007, 11:18
Delphi-Quellcode:
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;
Pack den Code lieber nicht ins KeyPress sondern ans Ende von deinem Timer1, sodass das nach jeder Bewegungsaktion überprüft wird.
Außerdem prüfst du nicht auf <0. Ist das beabsichtigt? So können Maus und Katze nämlich nach links und oben abhauen.
Nikolai Wyderka

SWIM SWIM HUNGRY!
Neuer Blog: hier!
  Mit Zitat antworten Zitat
Benutzerbild von R2D2
R2D2

Registriert seit: 20. Jan 2006
Ort: München
253 Beiträge
 
Delphi 2005 Personal
 
#13

Re: Grenzen? Oo

  Alt 17. Mär 2007, 11:19
Könntest du dir bitte auch den gesammten Beitragsdablauf durchlesen?
if then then then = else else else = then;

Meine Webseite
  Mit Zitat antworten Zitat
Benutzerbild von inherited
inherited

Registriert seit: 19. Dez 2005
Ort: Rosdorf
2.022 Beiträge
 
Turbo Delphi für Win32
 
#14

Re: Grenzen? Oo

  Alt 17. Mär 2007, 11:21
Zitat von R2D2:
Könntest du dir bitte auch den gesammten Beitragsdablauf durchlesen?
Stell dir vor: Das habe ich getan
Ich habe mir lediglich sein Projekt wie es jetzt ist angeschaut und bin auf das gestoßen, weshalb ich ihn noch einmal drauf hinweise.
Nikolai Wyderka

SWIM SWIM HUNGRY!
Neuer Blog: hier!
  Mit Zitat antworten Zitat
Benutzerbild von R2D2
R2D2

Registriert seit: 20. Jan 2006
Ort: München
253 Beiträge
 
Delphi 2005 Personal
 
#15

Re: Grenzen? Oo

  Alt 17. Mär 2007, 11:23
Zitat von Matze:
Edit: Aber das in einem Timer zu prüfen ist nichts. Führe diese Abfragen beispielsweise im "OnKeyPress" aus und reagiere darauf. So kannst du direkt feststellen, ob du die zwei Objekte neu platzieren kannst und wenn nicht, dann machst du es auch nicht.
Ich denke aber trotzdem, dass das für Newbies relativ irreführend ist, wenn sie ständig widersprüchliche Antworten bekommen.
if then then then = else else else = then;

Meine Webseite
  Mit Zitat antworten Zitat
Benutzerbild von inherited
inherited

Registriert seit: 19. Dez 2005
Ort: Rosdorf
2.022 Beiträge
 
Turbo Delphi für Win32
 
#16

Re: Grenzen? Oo

  Alt 17. Mär 2007, 11:26
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.
Nikolai Wyderka

SWIM SWIM HUNGRY!
Neuer Blog: hier!
  Mit Zitat antworten Zitat
Rickiwarhammer

Registriert seit: 15. Mär 2007
Ort: Frankfurt
14 Beiträge
 
Delphi 2010 Professional
 
#17

Re: Grenzen? Oo

  Alt 19. Mär 2007, 22:11
>-< 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ß!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:25 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