<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..
//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