ID3DXSprite::SetTransform() transformiert ganze Szene
-
Hallo zusammen,
ich habe testweise mal sowas gemacht:
m_pSprite->Begin(0); D3DXMATRIX m; D3DXMatrixRotationZ(&m,3.14152f/10.0f); m_pSprite->SetTransform(&m); m_pSprite->Draw( m_vecTextures[m_iCurTex], 0, &D3DXVECTOR3(10.0f,10.0f,0.0f), &D3DXVECTOR3(10.0f,10.0f,0.0f), 0xFFFFFFFF); m_pSprite->End();der Sinn davon ist, ein Sprite in einer 2D-Anwendung zu rotieren. Das Rotieren Funktioniert auch, jedoch wird die ganze Szene inklusive Koordinatensystem rotiert, die Maussteuerung etwa ist dann auch "gekippt". Ich habe bereits m_pSprite->Begin(D3DXSPRITE_OBJECTSPACE); probiert, leider kriege ich dann gar nichts mehr angezeigt
Hat mir jemand einen Tipp, was ich falsch mache?Grz
-me
-
also ich kenn mich nich genau mit id3dxsprite aus, aber ich denk einfach mal, dass das interface d3ddevice9::settransform aufruft um die transformation zu setzen. Dann ists klar, dass diese transformation dann noch bleibt wenn du fertig mit malen bist. Probier mal vorher d3ddevice::gettransform und nach sprite::draw d3ddevice:.settransform
-
Dickes THX

Werd's mal ausprobieren, ich habe so das Gefühl, das hilft ^^