ich habe eine lösung für das problem gefunden weiß aber nicht genau wie ich sie umsetzen soll mein erster versuch ist fehlgeschlagen und ich weiß einfach nicht weiter(hier ist mal mein erster versuch:
Delphi-Quellcode:
function TGame.GetObj(x,y,w,h,s:Integer):TObjTyp;
var
i:Integer;
begin
for i:=0 to High(obj.walls) do begin
// für Lings
if (x-s <= obj.walls[i].x+obj.walls[i].w) and (obj.walls[i].x >= x) and (y <= obj.walls[i].y+obj.walls[i].h) then begin
result.Typ:=Wall;
result.index:=i;
result.f:=True;
break;
end;
end;
end;
die lösung liegt darin die seite zu finden mit den angeben werten(x,y,w,h) welche mit einem andren objekt colldiert(wißt ihr was ich meine?)
da mein spiel aus lauter Vieecken aufgebaut ist wollte ich das jetzt so lösen:
ich schreibe mir eine funktion die ich mit einem vieeck aufrufe und die schritte die gegangen werden soll. Diese Funktion prüft in einer for schleife welche seite vom angeben vieeck mit einem andren objek zusammen stößt denn in meinem Spiel kann das player obj von allen seiten zusammen stöße bekommen und das ist die lösung(würde ich sagen)
im anhang ist ein beispiel bild. Das blaue Vieeck ist der player. wie zu sehen ist sind die seiten Lings und Unten blegt und rechts und oben ist frei. ich hoffe ihr versteht was ich meine.....