Thema: Delphi Sprite andockbar

Einzelnen Beitrag anzeigen

mimi

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

Re: Sprite andockbar

  Alt 16. Aug 2008, 18:55
Wenn alle Objekte/Sprites bei dir Gleich groß sind, ist das relativ einfach:
Delphi-Quellcode:
var
  mx,my:Integer;
begin
  mx:=x div Size
  my:=y div Size
  Object.x:=mx*Size
  Object.Y:=my*Size
end;
Objekt ist dein Sprite was du erstellen möchtest, und Size ist die Größe der Spritest. Wie gesagt wenn sie alle gleich groß sind.
X und Y könnten z.b. die Mauszeiger Positionen enthalten.

Sind die Objekte alle Unterschiedlich groß gibt es ein Problem... Bein einem Spiel von mir habe ich das so gelöst, das ich eine Größe Ermittelt habe, die in etwa alle Objekte umfasst... dann habe ich daraus ein Raster erstellt und die Objekte alle in diesem Raster Zentriert ! optimal ist das zwar noch nicht, aber es scheint bei mir ganz gut zu laufen.
Den Code habe ich für meine 2D Engine geschrieben, aber wenn du ihn haben möchtest könnte ich ihn raußsuchen. Du musst ihn dann nur noch anpassen.

Ich könnte mir bei Unterschiedlich Großen Objekten auch noch folgendes vorstellen:
Wenn das Spielfehld nicht ganz so viele Objekte hat, könntest du feststellen, welches Objekt am nahsten vom das Objekt liegt welches erstellt werden soll. Dann könntest du diese Position als Ausgangs Position nehmen.
Problem ist dann nur noch die Richtige Seite zu ermitteln.

(Darum schreibe ich lieber Spiele wo alle Objekte gleich groß sind *G*)
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  Mit Zitat antworten Zitat