Announcement

Collapse
No announcement yet.

Alle 10 msec Hintergrundbild & verschiedene Objekte zeichnen (wie bei Moorhuhn)

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • #16
    <pre>
    //Objekte zeichnen
    for fo:=Game.Objekte.Count-1 downto 0 do
    begin
    Obj:=Game.Objekte[fo];
    Typ:=Game.Objekttypen[Obj^.Typ];
    If (Bildliste.Items[Typ^.Bildnummer].Transparent) then //Eigentlich sinnlose Zeile, aber komischerweise klappt es ohne diese Zeile mit der Transparenz nicht.
    Bildliste.Items[Typ^.Bildnummer].Transparent:=True;
    Bildliste.Items[Typ^.Bildnummer].Draw(Zeichenflaeche.Surface,Round(Obj^.X),Round(O bj^.Y),0);
    end;</pre>
    Game ist ein Typ, in dem alle Variablen des Spiels gespeichert sind<br>Game.Objekte ist ein TList-Objekt. Jeder Eintrag enthält die Daten eines aktuell sichtbaren Objekts<br>In Game.Objekttypen sind alle möglichen Objekttypen gespeichert (mit Infos über Bild, Geschwindigkeit, Richtung, etc)<br>Bildliste ist eine TDXImageList mit den Objektbildern<br>Zeichenflaeche ist eine TDXDraw<br>Obj ist ein Pointer auf ein Objekt in Game.Objekte<br>Typ ist ein Pointer auf ein Objekt in Game.Objekttypen<br>Game.Objekte.Typ referenziert auf den Objekttyp des Objekts<br>Game.Objekttypen.Bildnummer referenziert auf das dazugehörige Bild in der Bildliste<p>Da es mit dieser zusätzlichen Zeile jetzt klappt, ist mein Anliegen nicht mehr so dringend...aber interessieren würde es mich trotzdem, wieso es nur dann klappt..

    Comment

    Working...
    X