Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Fred

Supermoderator

  • »Fred« ist der Autor dieses Themas

Beiträge: 2 121

Beruf: Softwareentwickler

  • Private Nachricht senden

1

03.02.2007, 20:47

tbSpriteEngine

Hi,
Ich habe ein Problem mit der tbSpriteEngine.
Ich poste einfach mal sämtlichen Code, der relevant ist.

Zuerst CGame::Init

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
// Spritetextur laden

    m_pSpritesTex = tbTextureManager::Instance().GetTexture("Data\\Sprites.bmp", TRUE, D3DX_DEFAULT, D3DX_DEFAULT, 1);
    if(m_pSpritesTex==NULL) TB_ERROR("Fehler beim Laden der Sprites", TB_ERROR);

    // Spriteengine

    m_pSprites = new tbSpriteEngine;
    if(m_pSprites->Init(16000)) TB_ERROR("Fehler beim Erstellen des der Spriteengine", TB_ERROR);
    
    // Effekt für die Sprites laden

    m_pSpritesEffect = new tbEffect;
    if(m_pSpritesEffect->Init("Data\\Sprites.fx")) TB_ERROR("Fehler beim Erstellen des Effekts für die Sprites!", TB_ERROR);
    m_pSpritesEffect->GetEffect()->SetTexture("Texture", m_pSpritesTex);
    
    m_pSprites->CreateSpriteType(0, tbVector2(0.0f, 0.0f), tbVector2(32.0f - 1.0f, 32.0f - 1.0f));


Dann CGame::Render(float fTime)

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
m_pSprites->Begin(tbDirect3D::Instance().GetTransform(D3DTS_VIEW), m_vCamPos);

// Hier könnte ein Fehler sein

m_pSprites->AddSprite(0,
                        tbVector3(0.0, -100.0, 0.0),
                        tbColor(1.0f, 1.0f, 1.0f, tbFloatRandom(0.25f, 0.9f)) - tbColorRandom(0.0f) * 0.25f,
                        tbVector2(tbFloatRandom(1.0f, 5.0f)),
                        tbFloatRandom(0.0f, TB_PI),
                        TRUE));

m_pSpritesEffect->Begin();
    m_pSpritesEffect->Pass(0);
    D3D.SetTransform(D3DTS_WORLD, tbMatrixTranslation(tbVector3(0.0, 0.0,0.0)));
    m_pSprites->Render();
    m_pSpritesEffect->End();


Ich hab schon ewig rumprobiert, kann sein, dass ich etwas vergessen bzw. falsch gemacht habe.

@Edit:
Sry: Nun ja der Sprite wird einfach nicht gerendert. Ich weiß nur nicht wieso.

Mit freundlichen Grüßen

Frederik Simon

SteveKr

Frischling

Beiträge: 41

Wohnort: Hessen

Beruf: Student

  • Private Nachricht senden

2

03.02.2007, 20:50

Zitat

Ich habe ein Problem mit der tbSpriteEngine.

Und was für eins? Hellsehen kann hier (glaube ich wenigstens ;) ) niemand.
XNA.mag - Deutsche XNA-Seite mit Tutorials, Samples und Forum

Fred

Supermoderator

  • »Fred« ist der Autor dieses Themas

Beiträge: 2 121

Beruf: Softwareentwickler

  • Private Nachricht senden

3

03.02.2007, 20:59

sry habs verbessert :)

Es wird nicht gerendert. genauer geht es leider nicht ;)

Die Datei dürfte jedoch in Ordnung sein(ist testweise von Galactica)

Frogy

Frischling

Beiträge: 43

Wohnort: Weimar

Beruf: Schüler (Klasse 9; Spezi)

  • Private Nachricht senden

4

04.02.2007, 08:39

Schau mal ob DirectX einen Fehler ausgibt. (Entsprechende Beschreibung findet man im Doc)! ;)
Alle Funktionen geben Fehler zurück, wenn etwas internen nicht klappt!
Fortune, fame
Mirror, vain
Gone insane
But the memory remains

Metallica

Fred

Supermoderator

  • »Fred« ist der Autor dieses Themas

Beiträge: 2 121

Beruf: Softwareentwickler

  • Private Nachricht senden

5

04.02.2007, 15:24

Ich habe es jetzt hingekriegt, aber ein weiteres Problem:
Ich rendere ein HUD nun möchte ich, dass ein Sprite auf diesem HUD angezeigt wird, das Problem:
Der Sprite wird immer unter dem HUD gerendert.
Das Bild vom HUD liegt also über dem Sprite obwohl ich das Sprite nach dem HUD rendern lasse

Frogy

Frischling

Beiträge: 43

Wohnort: Weimar

Beruf: Schüler (Klasse 9; Spezi)

  • Private Nachricht senden

6

17.02.2007, 10:19

Render mal testweise nur das Sprite! ;)
Fortune, fame
Mirror, vain
Gone insane
But the memory remains

Metallica

Chase

Alter Hase

Beiträge: 753

Wohnort: Nagaoka / Darmstadt / Düsseldorf

Beruf: fauler Studi

  • Private Nachricht senden

7

17.02.2007, 10:37

Zitat von »"Fred"«

Ich habe es jetzt hingekriegt, aber ein weiteres Problem:
Ich rendere ein HUD nun möchte ich, dass ein Sprite auf diesem HUD angezeigt wird, das Problem:
Der Sprite wird immer unter dem HUD gerendert.
Das Bild vom HUD liegt also über dem Sprite obwohl ich das Sprite nach dem HUD rendern lasse

Wahrscheilich weil dein Sprite raeumlich unterhalb des HUDs liegt.
Les mal den Abschnitt ueber Tiefenpuffer.
"Have you tried turning it off and on again?"

Werbeanzeige