AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Break-Game, Kugel auf Rechtecklanden lassen ...
Thema durchsuchen
Ansicht
Themen-Optionen

Break-Game, Kugel auf Rechtecklanden lassen ...

Ein Thema von KleinAmann · begonnen am 26. Jun 2008 · letzter Beitrag vom 6. Jul 2008
 
mimi

Registriert seit: 1. Dez 2002
Ort: Oldenburg(Oldenburg)
2.008 Beiträge
 
FreePascal / Lazarus
 
#32

Re: Break-Game, Kugel auf Rechtecklanden lassen ...

  Alt 1. Jul 2008, 10:08
Zitat:
Das muss man nun für jeden Punkt des zu testenden Objektes machen
Nein das ist Unsinn, das muss nur für jedes Objekt gemacht werden, nicht für jeden Punkt. Du brauchst nur die linke obere ecke angeben.

Zitat:
Was man mit PtInRect macht ist Pixelweise rumfrickeln
nein, nein. Du hast mich anscheind immer noch nicht richtig verstanden.
Hier mal ein Beispiel, wie ich diese Funktion einsetzte:
Delphi-Quellcode:
function TPluto2SpriteManger.N_Collision(const ax, ay: Integer;
  const aEvent: Boolean; const aPixelcheck: boolean): TPluto2DSprite;
var
  i:Integer;
  sp:TPluto2DSprite;
  p:TPoint;
  r1:TRect;
begin
  sp:=nil; p:=Point(ax,ay); r1:=Engine.GameFehld;
  // Schauen ob die Positions Angabe im Spielb Rect Liegt
  if (PtInRect(r1,p)) then begin
    for i:=0 to fItems.Count-1 do begin
// p:=Point(ax+Items[i].Width,ay+Items[i].Height);
      if PtInRect(Items[i].GetR,p) then begin
        if (not items[i].NoCollision) and (items[i].visible) then begin
          sp:=Items[i];
          //break;
        end;
      end;
    end; // for i
  end;

  if (aEvent) and (Assigned(Engine.onCollision) ) then begin
    Engine.onCollision(nil, sp);
  end;

  result:=sp;
end; // TPluto2SpriteManger.N_Collision
Ganz verstehe ich deine Methode immer noch nicht.
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  Mit Zitat antworten Zitat
 


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 16:12 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