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

1

17.09.2006, 19:22

Suche ein Tut über Sprites

Hallo nochmal ne kleine Frage kennt jemand ein Tut wo es darum geht Sprites darzustellen also in 2D.

danke vorab

Chase

Alter Hase

Beiträge: 753

Wohnort: Nagaoka / Darmstadt / Düsseldorf

Beruf: fauler Studi

  • Private Nachricht senden

2

17.09.2006, 19:24

Hab nach bissl rumkramen das hier gefunden, ist evtl etwas alt
http://www.gamedev.net/reference/articles/article1434.asp
"Have you tried turning it off and on again?"

3

17.09.2006, 19:30

das ist DirectX8 hat vieleicht jemand was aktuelles ich versuche schon eine weile ein sprite darzustellen bekomm es aber net hin

aber trozdem danke

Chase

Alter Hase

Beiträge: 753

Wohnort: Nagaoka / Darmstadt / Düsseldorf

Beruf: fauler Studi

  • Private Nachricht senden

4

17.09.2006, 19:43

Ich glaube nicht dass sich da viel veraendert hat, auch wenn ich selbst erst seit 9 code..

Nicht selten werden fuer 2D-Grafik transformierte Vertizes verwendet - also solche die DX nicht mehr durch die Transformationsmatrix schickt. Ergo kannst du damit direkte Pixelkoordinaten verwenden. Aber in genau solch einem Thread wurde mir gesagt dass untransformierte Vertizes um einiges flexibler sind. A) wegen Performance, und B) aufgrund der Moeglichkeit TROTZDEM Transformation per DX anzuwenden, zum Beispiel eine Weltmatrix um das Viereck rotieren zu koennen. Wer weiss wann man sowas mal braucht? :)
Im Grunde reicht es also zwei Dreiecke zu einem Quadrat zusammenzusetzen, und dann eine orthogonale Projektionsmatrix zu verwenden.
Such also einfach mal nach "Orthogonaler Projektion"
"Have you tried turning it off and on again?"

5

17.09.2006, 19:55

kannst du damit was anfangen ich denke da stimmt was nicht

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
// Konstruktor - Initialisierungen
CSprite::CSprite(void)
{
    m_lpSprite  = NULL;
    m_lpTexture = NULL;
}

// Destructor - freigeben der Objekte
CSprite::~CSprite(void)
{
    if(NULL != m_lpSprite)
    {
        m_lpSprite->Release();
        m_lpSprite = NULL;
    }

    if(NULL != m_lpTexture)
    {
        m_lpTexture->Release();
        m_lpTexture = NULL;
    }
}

// Position setzen
void CSprite::SetPosition(float x,float y,float z)
{
    m_vPosition.x = 10;
    m_vPosition.y = 10;
    m_vPosition.z = 0;
}

void CSprite::Create(LPDIRECT3DDEVICE9 lpDevice, LPCWSTR lpFileName)
{
    m_lpDevice  = lpDevice;

    // Sprite anlegen
    D3DXCreateSprite(m_lpDevice,&m_lpSprite);

    // Inforationen über die Textur holen
    D3DXIMAGE_INFO ImgInfo;
    D3DXGetImageInfoFromFileW(lpFileName,&ImgInfo);

    // Textur anlegen
    D3DXCreateTextureFromFileExW(m_lpDevice,
                                lpFileName,
                                ImgInfo.Width,
                                ImgInfo.Height,
                                1,0,
                                D3DFMT_UNKNOWN,
                                D3DPOOL_MANAGED,
                                D3DX_FILTER_NONE,
                                D3DX_FILTER_NONE,
                                0,0,0,
                                &m_lpTexture);

    // Breite und Höhe speichern
    m_Width  = ImgInfo.Width;
    m_Height = ImgInfo.Height;
}

void CSprite::Draw(void)
{
    m_lpSprite->Draw(m_lpTexture,
                     NULL,
                     &D3DXVECTOR3(1.0f,1.0f,1.0f),                     
                     &m_vPosition,
                     0xFFFFFFAF);
}

6

17.09.2006, 21:07

ok habs hinbekommen lag an der direktx version und den funktionsaufrufen

Anonymous

unregistriert

7

18.09.2006, 15:52

www.germangamedev.de Allgemein sollte dir ordentlich weiterhelfen.

8

18.09.2006, 16:34

Dank dir Riddick

Werbeanzeige