Einzelnen Beitrag anzeigen

mimi

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

Re: Collisionserknnung:problem

  Alt 5. Feb 2005, 18:40
Ich habe in der letzten Woche eine funktion geschrieben die soll mir dises seiten zurückgeben doch leider funktioniert sie nur in meinem test projekt aber nicht in meinem eigentlichen projekt.
so sieht die funktion aus:
Delphi-Quellcode:
 for i:=0 to High(obj.walls) do begin
    // Rechts
    if (x+w+s > obj.walls[i].x) and (y > obj.walls[i].y) and (x+w+s < obj.walls[i].x+obj.walls[i].w) and (y < obj.walls[i].y+obj.walls[i].h) then
      result.WRechts:=True;

    // Lings
    if (x-s > obj.walls[i].x) and
       (y > obj.walls[i].y) and
       (x-s < obj.walls[i].x+obj.walls[i].w) and
       (y < obj.walls[i].y+obj.walls[i].h) then
      result.WLings:=True;

    // Unten
    if (x > obj.walls[i].x) and (y+h+1 >obj.walls[i].y) and(x < obj.walls[i].x+obj.walls[i].w) and (y+h+1< obj.walls[i].y+obj.walls[i].h) then
      result.WUnten:=True;

    // Oben
    if (x > obj.walls[i].x) and (y > obj.walls[i].y) and(x < obj.walls[i].x+obj.walls[i].w) and (y<obj.walls[i].y+obj.walls[i].h ) then
      result.WOben:=True

  end;
das ziel dieser funktion ist es herrauszufinden welche seite zusammenstößt mit den angeben position angaben(x,y,w,h,s)
doch leider gibt sie mir immer nur unten als seite raus aber nicht lings bzw. rechts..... ich finde einfach keine lösung für das problem.....
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  Mit Zitat antworten Zitat