AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi [Andorra 2D] AdSpriteEngine zeichnet nicht
Thema durchsuchen
Ansicht
Themen-Optionen

[Andorra 2D] AdSpriteEngine zeichnet nicht

Ein Thema von Looper · begonnen am 9. Mär 2008 · letzter Beitrag vom 11. Mär 2008
Antwort Antwort
Looper

Registriert seit: 28. Sep 2007
Ort: Hamburg
131 Beiträge
 
Delphi XE2 Professional
 
#1

[Andorra 2D] AdSpriteEngine zeichnet nicht

  Alt 9. Mär 2008, 19:33
Hi,

ich habe ein Problem mit der TSpriteEngine:
- Ich lade ein Bild in eine ImageList
Delphi-Quellcode:
AdImageList := TAdImageList.Create(AdDraw);
  with AdImageList.Add('Tux') do
  begin
    Texture.LoadFromFile('C:\...\...bmp'); //natürlich steht hier sonst der richtige Pfad
  end;
  AdImageList.Restore;
- dann möchte ich ein Sprite erstellen. Und zwar mit diesem Bild:
Delphi-Quellcode:
with TTux.Create(AdSpriteEngine) do //AdSpriteEngine wurde schon erstellt
  begin
    Image := AdImageList.Find('Tux');
    Setposition; //Positionen werden festgelegt
  end;
- jetzt muss man doch eigentlich nur noch zeichnen lassen und das Sprite müsste erscheinen, oder doch nicht
Delphi-Quellcode:
    
...
AdDraw.BeginScene;
  AdSpriteEngine.Move(AdPerformanceCounter.TimeGap/1000);
  AdSpriteEngine.Draw;
AdDraw.EndScene;
...
AdDraw.Flip
Also ich habe herausgefunden, dass das Bild in die ImageList geladen wird, allerdings wird kein Sprite erstellt. Obwohl der Code durchlaufen wird (glaube ich jedenfalls).

Also ich sehe da eigentlich keinen Fehler, ich hoffe ihr könnt mir helfen.

mfg Looper
  Mit Zitat antworten Zitat
Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#2

Re: [Andorra 2D] AdSpriteEngine zeichnet nicht

  Alt 9. Mär 2008, 19:36
Du musst
Texture.LoadGraphicFromFile('bla.bmp'); schreiben, da sonst versucht wird, das Bild aus dem internen Andorra Grafikformat zu laden.
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  Mit Zitat antworten Zitat
Looper

Registriert seit: 28. Sep 2007
Ort: Hamburg
131 Beiträge
 
Delphi XE2 Professional
 
#3

Re: [Andorra 2D] AdSpriteEngine zeichnet nicht

  Alt 9. Mär 2008, 19:46
okay, aber leider geht das immer noch nicht .

Ich drücke auf einen Button -> ein Sprite soll erstellt werden -> dann natürlich angezeigt
Ich denke mal, dass der Fehler in der AdSpriteEngine auftritt.

Also das Sprite erstelle ich hiermit:
Delphi-Quellcode:
  
with TTux.Create(AdSpriteEngine) do
begin
  Image := AdImageList.Find('Tux');
  Setposition;
end;
aber nicht wie sonst am Anfang, sondern zur Laufzeit (nämlich wenn auf einen Button gedrückt wurde).

Also ich bin 100%ig der Überzeugung, dass der Fehler hier auftritt, da danach doch sonst auch der Rückgabewert der FunktionAdSpriteEngine.Items.Count >0 sein müsste, oder?

Doch dies ist nicht der Fall (=0).

TTux habe ich wiefolgt deklariert:
Delphi-Quellcode:
  TTux = class(TImageSprite)
  protected
    procedure DoMove(TimeGap:double);override;
  public
    constructor Create(AParent:TSprite);override;
    procedure SetPosition;
  end;
Aber auch da erkenne ich keinen Fehler.

Hoffe doch sehr auf weiter Hilfe, mfg Looper
  Mit Zitat antworten Zitat
Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#4

Re: [Andorra 2D] AdSpriteEngine zeichnet nicht

  Alt 11. Mär 2008, 18:01
Hallo,

was genau machst du im Constructor von TTux? Rufst du dort brav inherited auf? Ansonsten kann ich mir nicht vorstellen, dass AdSpriteEngine.Count weiterhin null bleibt.

Im Notfall kannst du mir dein Projekt (oder (fast noch besser) ein kleines Testprojekt) schicken und ich schaue ob ich einen Fehler finden kann.
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  Mit Zitat antworten Zitat
Looper

Registriert seit: 28. Sep 2007
Ort: Hamburg
131 Beiträge
 
Delphi XE2 Professional
 
#5

Re: [Andorra 2D] AdSpriteEngine zeichnet nicht

  Alt 11. Mär 2008, 19:34
Oh Gott Viele Dank.
Ich hatte geschrieben
Delphi-Quellcode:
constructor TTux.Create(AParent : TSprite);
begin
  inherited
  X := 200;
  Y := 200;
end;
Und da guck ich dank deines Hinweises nochmnal genau hin und sehe...
das Semikolom^^

So klappt jetzt auch perfekt.
Dankeschön!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz