Einzelnen Beitrag anzeigen

mimi

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

Re: [Andorra] Sprites lassen sich nicht platzieren

  Alt 18. Jul 2008, 16:05
Erstmal kann man deinen code zu kürzten:
Delphi-Quellcode:
procedure TMainForm.AddBrick(aX, aY: Double; aColor: Integer);
begin
  with TBrickEditor.Create(AdSpriteEngine) do begin
    Image := AdImgLst.Find('brick');
    Width := 90;
    Height := 20;
    X := aX;
    Y := aY;
    Color := aColor;
  end;
end;
Zitat:
Wenn ich
Delphi-Quellcode: markieren
Y := 1+j * Height;
X := 1+i * w;

schreibe klappts... Confused

Geht das nicht anders?
Im Prinzip nicht. Das ganz lässt sich auch schnell erklären.
Du veränderst gleich große Objekte von einer Größe von 90X20.
Wenn du so speicherst wie es Igel in seinen Brekout Clone macht gilt folgendes:
Nehmen wir an du hast eine Breite von 640 und eine Höhe von 480.
640 div 90 = 7
480 div 20 = 24

Du hast also jetzt ein zwei 2D raster welches 7X24 große ist.
also haben die Objekte z.b. jetzt als Positions angaben:
X:2 und Y: 2
jetzt muss du einfach nur noch
X*90 und y*20 rechnen und schon hast du die genau Zeichen Position.

das geht aber nur bei gleich großen Objekten wie in deinen Fall.
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  Mit Zitat antworten Zitat