Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: Probleme mit großerer Abfrage

  Alt 1. Jun 2004, 14:39
Du hast anscheinend ein Klasse TSprite. Falls es sich um einen Record handelt, könnte es sich lohnen, den Record in eine Klasse umzuwandeln.
Die Sprite-Klasse braucht bestimmte Grundfunktionen:
Delphi-Quellcode:
function TSprite.IsInsideRect(r:TRect):boolean; // Sprite befindet sich komplett innerhalb des Rechtecks
function TSprite.CollidesWithRect(r:TRect):Boolean; // Sprite überdeckt Rechteck teilweise oder vollständig
function TSprite.CollidesWithSprite(s:TSprite):Boolean; // Kollision mit anderem Sprite
procedure TSprite.MoveSprite; // bewege Sprite
Mit diesen Funktionen vereinfachen sich deine If-Abfragen schon erheblich.

Du hast anscheinend 100te globale Variablen. Das ist eine schlechte Taktik.
Gleichartige Objekte/Datentypen werden in einem Array oder einer Liste gespeichert.
Damit reduzieren sich hunderte von Abfrage auf eine Schleife innerhalb der du die
Abfrage platzierst.
Andreas
  Mit Zitat antworten Zitat