![]() |
[Andorra] TBackgroundSprite
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
ich möchte gerne die Klasse TBackgroundSprite nutzen für einen Hintergrund. ich habe das so verstehen das ich eigentlich nur folgendes machen muss:
Delphi-Quellcode:
und beim zeichnen:
with TBackgroundSprite.Create(AdSpriteEngine) do begin
Image:=AdImageList.Find('BG'); z:=-1; Depth:=10; end;
Delphi-Quellcode:
Allerdings bin ich mit den Ergebnis nicht zufrieden. Schaut euch doch mal bitte den Anhang an.
if AdDraw.CanDraw then begin
AdDraw.BeginScene; AdDraw.ClearSurface(clWhite); AdSpriteEngine.Draw; AdDraw.EndScene; AdDraw.Flip; end; Was meint ihr ? Muss ich eine eigene Procedure schreiben ? (Währe auch kein Problem), aber bevor ich den Aufwand betreibe wollte ich doch mal nach fragen ob es nicht einfacher geht. ich möchte einfach nur das die angeben Grafik(96*96) auf dem ganzen Bildschirm gekachelt da gestellt wird. Mehr möchte ich nicht. Ohne abstandt und soweiter. |
Re: [Andorra] TBackgroundSprite
Kannst du auch die Originalgrafik anhängen, damit wir wissen wie es eigentlich aussehen sollte?
|
Re: [Andorra] TBackgroundSprite
Beim Backgroundsprite muss die Texturgröße Power of two sein (2^n) - sprich nur größen wie 32x32, 64x64, 128x128, 256x256 etc. sind zulässig.
|
Re: [Andorra] TBackgroundSprite
Liste der Anhänge anzeigen (Anzahl: 1)
und 96 X 96 ist das nicht ?
das währe eine Möglichkeit. Die Grafik stammt von DrawBall. |
Re: [Andorra] TBackgroundSprite
Zitat:
2^7 = 128 :arrow: 96x96 ist das nicht ;) |
Re: [Andorra] TBackgroundSprite
Na dann muss ich wohl was selbst machen. Naja was sollst. Fragen schadet ja nicht... :-D
ich habe das jetzt so gelöst:
Delphi-Quellcode:
und das ist so wie ich es haben wollte.
procedure TPlutoDrawBall.Draw;
var adRect:TAdRect; x,y:Integer; begin if AdDraw.CanDraw then begin AdDraw.BeginScene; AdDraw.ClearSurface(clWhite); for y:=0 to MapW do begin for x:=0 to MapH do begin AdImageList.Find('BG').Draw(AdDraw,x * mapS, y * mapS,0); end; end; AdSpriteEngine.Draw; AdDraw.EndScene; AdDraw.Flip; end; end; // TPlutoDrawBall.Draw |
Re: [Andorra] TBackgroundSprite
Das ist natürlich die entsprechende Lösung.
TBackgroundSprite benötigt eine 2^n Textur, da ich dann das gesamte Hintergrundbild über einen einzigen Befehl zeichnen kann, was einiges schneller ist. |
Re: [Andorra] TBackgroundSprite
Also könnte ich auch einfach nur die Größe der Grafik Anpassen und würde dann zum gleichen Ergebnis kommen ?
|
Re: [Andorra] TBackgroundSprite
Ja.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:20 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz