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

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

21

06.08.2003, 12:07

Erstens: logge Dich bitte ein.

Zweitens: nein, das ist kein Scherz. In dem einen Post steht genau, was Du ändern musst und dann habe ich Dir später nochmal geschrieben, was Du rausnehmen musst.
Wenn man eine Fehlermeldung bekommt, dann ist es doch nicht zu viel verlangt, mal ein bisschen selbst rumzuprobieren, oder? Und wenn Du da irgendeine Variable hast, wo ich geschrieben habe, dass man sie rausnehmen soll, dann natürlich auch deren Deklaration und nicht nur an den Stellen, wo sie benutzt wird.

Also, Zusammenfassung:
tbDirect3D::Instance() gibt es erst ab der zweiten Auflage. Ich hatte das nur aus Versehen in den einen Code gepostet, habe das aber nachher auch klargestellt. Aus tbDirect3D::Instance().Methode wird also tbDirect3D::Methode.
Klar, dass dann die Zeile "tbDirect3D& D3D = tbDirect3D::Instance()" wegfallen muss.
Weiterhin habe ich geschrieben, dass aus "D3D->DrawPrimitiveUP" ein "tbDirect3D::GetDevice()->DrawPrimitiveUP" werden soll.
Und dann steht da noch, dass Du aus "tbGUIVertex::dwFVF" ein "TB_GUI_FVF" machen sollst.

Also, sage mir mal ehrlich: Wo liegt denn da das Problem?


PS: Unter "ausfallend" verstehe ich was anderes... ist es denn zu viel verlangt, die Sachen richtig zu lesen?

Anonymous

unregistriert

22

06.08.2003, 12:25

@David,,,

OK David Sorry David, dann ist es sicher mein Fehler tut mir leid war wohl sicherlich überfordert. Das mit der ::Instance habe ich gestern (heute) Nacht denn auch noch gepeilt. Mit Ausfallend meinte ich auch den Spruch : "Es ist ja wohl nicht zu viel verlangt mal ein bisschen mitzudenken." Was ist denn das für eine Aussage, ich denke jeder der sich mit Deinem Buch oder mit Deiner HP beschäftig wird wohl mitdenken, hatte halt nen schlechten Tag, ist aber kein Grund gleich solche Post von sich zu geben OKI das ist geklärt.

P.S. Das bild wird trotzdem nicht dargestellt David.

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

23

06.08.2003, 12:26

Poste mal bitte den kompletten Code von der Methode, die geändert wurde! Mal sehen, ob ich was finde. Bei mir ging es nämlich.

Anonymous

unregistriert

24

06.08.2003, 12:39

Geht los das :

Hier der Code von der geänderten drxGUIImage.cpp (tbGUIImage.cpp)

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
********************************************************************/

#include <DiReX.h>

// ****************************************************************** 
// Nachrichtenfunktion für ein Bild 
drxResult drxGUIImage::ReceiveMessage(const drxGUIMessage* pMsg) 
{ 
    drxGUIVertex aVertex[4]; 

    switch(pMsg->Type) 
    { 
    case DRX_GMT_RENDER: 
        // Wenn das Element unsichtbar ist, wird es nicht gerendert. 
        if(!m_bVisible) break; 

        if(pMsg->aiInt[0] == 2) 
        { 
            // Bild zeichnen 
            m_pGUI->AddRect(m_vPosition * m_pGUI->m_vScaling, m_vSize * m_pGUI->m_vScaling, 
                m_Color, m_vTopLeftTex, m_vBottomRightTex - m_vTopLeftTex, 
                aVertex); 

            // Textur setzen 
            drxDirect3D::SetTexture(0, m_pTexture); 

            // Vertexformat und Render-States 
            drxDirect3D::SetRS(D3DRS_ZENABLE, FALSE); 
            drxDirect3D::SetRS(D3DRS_ZWRITEENABLE, FALSE); 
            drxDirect3D::SetRS(D3DRS_COLORVERTEX, TRUE); 
            drxDirect3D::SetRS(D3DRS_ALPHABLENDENABLE, TRUE); 
            drxDirect3D::SetRS(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA); 
            drxDirect3D::SetRS(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA); 
            drxDirect3D::SetTSS(0, D3DTSS_COLOROP, D3DTOP_MODULATE); 
            drxDirect3D::SetTSS(0, D3DTSS_COLORARG1, D3DTA_CURRENT); 
            drxDirect3D::SetTSS(0, D3DTSS_COLORARG2, D3DTA_TEXTURE); 
            drxDirect3D::SetTSS(0, D3DTSS_ALPHAOP, D3DTOP_MODULATE); 
            drxDirect3D::SetTSS(0, D3DTSS_ALPHAARG1, D3DTA_CURRENT); 
            drxDirect3D::SetTSS(0, D3DTSS_ALPHAARG2, D3DTA_TEXTURE); 

            // Dreiecke zeichnen 
            drxDirect3D::GetDevice()->DrawPrimitiveUP(D3DPT_TRIANGLESTRIP, 2, aVertex, 
                sizeof(drxGUIVertex)); 
        } 
        break; 
    } 

    return DRX_OK; 
}


Jetzt der Code vom Game :

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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
// Lädt den Spielzustand
drxResult CMainMenu::Load()
{
    CGame* pGame;

    // Zeiger kopieren
    pGame = g_pGalactica->m_pGame;

    // Hintergrundbild laden
    m_pBackground = drxTextureManager::GetTexture("Data\\Metal96.jpg", TRUE, D3DX_DEFAULT, D3DX_DEFAULT, 1);
    if(m_pBackground == NULL) DRX_ERROR("Fehler beim Laden von Data\\Metal96.jpg!", DRX_ERROR);

    // Credits S.Karlhoff Bild laden
    m_pCreditsSK = drxTextureManager::GetTexture("Data\\CreditsSK.bmp", TRUE, D3DX_DEFAULT, D3DX_DEFAULT, 1, D3DFMT_A8R8G8B8, 0, D3DPOOL_MANAGED, D3DX_DEFAULT, D3DX_DEFAULT, D3DCOLOR_XRGB(255, 0, 255));
    if(m_pCreditsSK == NULL) DRX_ERROR("Fehler beim Laden von Data\\CreditsSK.bmp!", DRX_ERROR);


    // Skin der Benutzeroberfläche erstellen
    m_GUISkin.pSkinTexture          = drxTextureManager::GetTexture("Data\\GUI.bmp", TRUE, D3DX_DEFAULT, D3DX_DEFAULT, 1, D3DFMT_UNKNOWN, 0, D3DPOOL_MANAGED, D3DX_DEFAULT, D3DX_DEFAULT, D3DCOLOR_XRGB(255, 0, 255));
    m_GUISkin.pEffect               = new drxEffect; m_GUISkin.pEffect->Init("Data\\GUI.fx"); m_GUISkin.pEffect->GetEffect()->SetTexture("Texture", m_GUISkin.pSkinTexture);
    m_GUISkin.pFont                 = g_pGalactica->m_pFont2;
    m_GUISkin.vCursorSize           = drxVector2(32.0f, 32.0f);
    m_GUISkin.CursorColor1          = drxColor(1.0f, 1.0f, 1.0f, 0.75f);
    m_GUISkin.CursorColor2          = drxColor(1.0f, 1.0f, 1.0f, 0.75f);
    m_GUISkin.vCursorHotSpot        = drxVector2(1.0f, 1.0f);
    m_GUISkin.fCursorSpeed          = 400.0f;
    m_GUISkin.EnabledColor          = drxColor(1.0f, 1.0f, 1.0f, 0.5f);
    m_GUISkin.DisabledColor         = drxColor(1.0f, 1.0f, 1.0f, 0.25f);
    m_GUISkin.HighlightColor        = drxColor(1.0f, 1.0f, 1.0f, 0.75f);
    m_GUISkin.vTextSize             = drxVector2(1.0f);
    m_GUISkin.EnabledTextColor      = drxColor(1.0f, 1.0f, 1.0f, 0.75f);
    m_GUISkin.DisabledTextColor     = drxColor(1.0f, 1.0f, 1.0f, 0.25f);
    m_GUISkin.HighlightTextColor    = drxColor(1.0f, 1.0f, 1.0f, 1.0f);
      

    if(m_GUISkin.pSkinTexture == NULL)  DRX_ERROR("Fehler beim Laden der Skin-Textur für die Benutzeroberfläche!", DRX_ERROR);
    if(m_GUISkin.pEffect == NULL)       DRX_ERROR("Fehler beim Laden des Effekts für die Benutzeroberfläche!", DRX_ERROR);

    // Benutzeroberfläche erstellen
    m_pGUI = new drxGUI;
    if(m_pGUI->Init(&m_GUISkin, MainMenuMsgProc,
                    drxVector2(1024.0f, 768.0f),
                    drxDirect3D::GetScreenSize() / drxVector2(1024.0f, 768.0f)))
    {
        // Fehler!
        DRX_ERROR("Fehler bei der Erstellung der Benutzeroberfläche!", DRX_ERROR);
    }

    // Benutzeroberfläche erstellen
    // Erste Seite
    //m_pGUI->CreateFrame(100, 0, drxVector2(10.0f, 10.0f), drxVector2(800.0f, 548.0f));
    m_pGUI->CreateButton(101, 0, drxVector2(50.0f, 50.0f), drxVector2(160.0f, 50.0f), "Spiel starten");
    m_pGUI->CreateButton(102, 0, drxVector2(50.0f, 120.0f), drxVector2(160.0f, 50.0f), "Steuerung");
    m_pGUI->CreateButton(103, 0, drxVector2(50.0f, 190.0f), drxVector2(160.0f, 50.0f), "Spiel beenden");
    m_pGUI->CreateButton(109, 0, drxVector2(50.0f, 260.0f), drxVector2(160.0f, 50.0f), "TEST");
    m_pGUI->CreateFrame(104, 0, drxVector2(230.0f, 50.0f), drxVector2(700.0f, 660.0f));
    m_pGUI->CreateText(105, 0, drxVector2(250.0f, 70.0f), "Schiffs- und Teamauswahl");
    m_pGUI->CreateText(105, 0, drxVector2(250.0f, 110.0f), "Verfügbare Schiffstypen");
    m_pGUI->CreateList(106, 0, drxVector2(250.0f, 140.0f), drxVector2(192.0f, 120.0f), 20.0f);
    for(int i = 0; i < pGame->m_iNumShipTypes; i++)
    {
        ((drxGUIList*)(m_pGUI->GetElement(106)))->AddEntry(pGame->m_aShipType[i].acName,
                                                          &pGame->m_aShipType[i]);
    }

    m_pGUI->CreateFrame(107, 0, drxVector2(490.0f, 140.0f), drxVector2(340.0f, 220.0f));
    m_pGUI->CreateText(108, 0, drxVector2(500.0f, 150.0f), "");

    m_pGUI->CreateText(120, 0, drxVector2(250.0f, 370.0f), "Team 1");
    m_pGUI->CreateList(121, 0, drxVector2(250.0f, 400.0f), drxVector2(192.0f, 100.0f), 20.0f);
    m_pGUI->CreateButton(122, 0, drxVector2(320.0f, 370.0f), drxVector2(30.0f, 30.0f), "+");
    m_pGUI->CreateButton(123, 0, drxVector2(355.0f, 370.0f), drxVector2(30.0f, 30.0f), "-");

    m_pGUI->CreateText(130, 0, drxVector2(500.0f, 370.0f), "Team 2");
    m_pGUI->CreateList(131, 0, drxVector2(500.0f, 400.0f), drxVector2(192.0f, 100.0f), 20.0f);
    m_pGUI->CreateButton(132, 0, drxVector2(570.0f, 370.0f), drxVector2(30.0f, 30.0f), "+");
    m_pGUI->CreateButton(133, 0, drxVector2(605.0f, 370.0f), drxVector2(30.0f, 30.0f), "-");

    m_pGUI->CreateText(140, 0, drxVector2(250.0f, 510.0f), "Team 3");
    m_pGUI->CreateList(141, 0, drxVector2(250.0f, 540.0f), drxVector2(192.0f, 100.0f), 20.0f);
    m_pGUI->CreateButton(142, 0, drxVector2(320.0f, 510.0f), drxVector2(30.0f, 30.0f), "+");
    m_pGUI->CreateButton(143, 0, drxVector2(355.0f, 510.0f), drxVector2(30.0f, 30.0f), "-");

    m_pGUI->CreateText(150, 0, drxVector2(500.0f, 510.0f), "Team 4");
    m_pGUI->CreateList(151, 0, drxVector2(500.0f, 540.0f), drxVector2(192.0f, 100.0f), 20.0f);
    m_pGUI->CreateButton(152, 0, drxVector2(570.0f, 510.0f), drxVector2(30.0f, 30.0f), "+");
    m_pGUI->CreateButton(153, 0, drxVector2(605.0f, 510.0f), drxVector2(30.0f, 30.0f), "-");
    
    // Zweite Seite
    m_pGUI->CreateFrame(200, 1, drxVector2(10.0f, 10.0f), drxVector2(1004.0f, 748.0f));
    m_pGUI->CreateButton(201, 1, drxVector2(50.0f, 50.0f), drxVector2(160.0f, 50.0f), "OK");
    m_pGUI->CreateFrame(202, 1, drxVector2(230.0f, 50.0f), drxVector2(520.0f, 510.0f));
    m_pGUI->CreateText(203, 1, drxVector2(250.0f, 70.0f), "Steuerung");
    m_pGUI->CreateCheckBox(204, 1, drxVector2(450.0f, 70.0f), drxVector2(32.0f), "Joystick benutzen", g_pGalactica->m_pGame->m_bUseJoystick);
    m_pGUI->GetElement(204)->Enable(drxDirectInput::GetNumButtons() > 122);
    m_pGUI->CreateText(205, 1, drxVector2(250.0f, 120.0f), "Aktion", drxColor(1.0f, 0.75f, 0.75f));
    m_pGUI->CreateText(206, 1, drxVector2(250.0f, 150.0f), "Lenkung\nSchubkontrolle\nVoller Stopp\nLaser abfeuern\nRaketen abfeuern\nNächstes Ziel\nAuto-Aim an/aus\nRadarreichweite erhöhen\nRadarreichweite verringern\nSelbstzerstörung\nCockpitkamera\nJagdkamera\nFreie Jagdkamera\nJagdkamera von vorne\nFlyBy-Kamera\nPadlock-Kamera\nRaketenkamera\nJagdraketenkamera\nFlyBy-Raketenkamera", m_pGUI->GetSkin().EnabledTextColor, drxVector2(0.85f, 1.0f));
    m_pGUI->CreateText(207, 1, drxVector2(450.0f, 120.0f), "Joystick", drxColor(1.0f, 0.75f, 0.75f));
    m_pGUI->CreateText(208, 1, drxVector2(450.0f, 150.0f), "Achsen\nSchieberegler\n[NICHT BELEGT]\n1. Knopf\n2. Knopf\n3. Knopf\n[NICHT BELEGT]\n[NICHT BELEGT]\n[NICHT BELEGT]\n[NICHT BELEGT]\n[NICHT BELEGT]\n[NICHT BELEGT]\n[NICHT BELEGT]\n[NICHT BELEGT]\n[NICHT BELEGT]\n[NICHT BELEGT]\n[NICHT BELEGT]\n[NICHT BELEGT]\n[NICHT BELEGT]", m_pGUI->GetSkin().EnabledTextColor, drxVector2(0.85f, 1.0f));
    m_pGUI->CreateText(209, 1, drxVector2(580.0f, 120.0f), "Tastatur", drxColor(1.0f, 0.75f, 0.75f));
    m_pGUI->CreateText(210, 1, drxVector2(580.0f, 150.0f), "Cursortasten, Q, W\nPlus/Minus (NumPad)\nRücktaste\nShift links\nStrg links\nT\nA\nBild auf\nBild ab\nS + D\nF1\nF2\nF3\nF4\nF5\nF6\nF7\nF8\nF9", m_pGUI->GetSkin().EnabledTextColor, drxVector2(0.85f, 1.0f));

    // Dritte Seite
    m_pGUI->CreateFrame(300, 2, drxVector2(10.0f, 10.0f), drxVector2(1004.0f, 748.0f));
    m_pGUI->CreateText(301, 2, drxVector2(400.0f, 300.0f), "LADEVORGANG", drxColor(0.25f, 1.0f, 0.25f, 1.0f), drxVector2(2.0f, 4.0f), DRX_FF_RELATIVESCALING | DRX_FF_ALIGN_HCENTER | DRX_FF_ALIGN_VCENTER);
    m_pGUI->CreateText(302, 2, drxVector2(400.0f, 350.0f), "Bitte warten Sie einen Moment...", drxColor(1.0f), drxVector2(1.0f, 2.0f), DRX_FF_RELATIVESCALING | DRX_FF_ALIGN_HCENTER | DRX_FF_ALIGN_VCENTER);
    
    // Vierte Seite
    m_pGUI->CreateFrame(400, 3, drxVector2(10.0f, 10.0f), drxVector2(1004.0f, 748.0f));
    // Button zum schliessen der Page
    m_pGUI->CreateButton(401, 3, drxVector2(50.0f, 50.0f), drxVector2(120.0f, 50.0f), "Schliessen");
    // Texte
    m_pGUI->CreateText(402, 3, drxVector2(400.0f, 120.0f), "C R E D I T S", drxColor(0.50f, 0.75f, 0.25f));
    m_pGUI->CreateText(403, 3, drxVector2(400.0f, 180.0f), "Programmierung", drxColor(0.75f, 0.75f, 0.25f));
    m_pGUI->CreateText(404, 3, drxVector2(400.0f, 200.0f), "Sascha & Marco Karlhoff", drxColor(0.75f, 0.75f, 0.25f));
    m_pGUI->CreateText(405, 3, drxVector2(400.0f, 240.0f), "Grafik & Animation", drxColor(0.75f, 0.75f, 0.25f));
    m_pGUI->CreateText(406, 3, drxVector2(400.0f, 260.0f), "Sascha Karlhoff", drxColor(0.75f, 0.75f, 0.25f));
    m_pGUI->CreateText(407, 3, drxVector2(400.0f, 300.0f), "Sound & Musik", drxColor(0.75f, 0.75f, 0.25f));
    m_pGUI->CreateText(408, 3, drxVector2(400.0f, 320.0f), "Marco Fromholz", drxColor(0.75f, 0.75f, 0.25f));
    // Bild von Sascha an Position 400, 340 - Größe 120x120 
    m_pGUI->CreateImage(410, 3, drxVector2(400.0f, 340.0f), 
                                drxVector2(120.0f, 120.0f), 
                                m_pCreditsSK, 
                                drxVector2(0.0f, 0.0f), 
                                drxVector2(1.0f, 1.0f),
                                drxColor(1.0f));
    
    // 4te Seite ist aktiv
    m_pGUI->SetCurrentPage(3);
    g_bStartGame = FALSE;

    return DRX_OK;
}


Die Erstellung des Games klappt, ohne Probleme, jedoch wird nur das Bild nicht angezeigt. Siehe dazu Sreen 1 auf der ersten Seite.

Anonymous

unregistriert

25

09.08.2003, 02:03

Hey David,,,

ich bin jetzt sämtliche Wege durchgegangen und kam nicht zum ergebnis. Es kommt keine Fehlermeldung, kein Absturz, aber auch kein Bild. Du sagtes bei Dir hat es geklappt, hast Du das Beispiel noch ? Vielleicht könntest Du mir das ja mal mailen, ich weiß da echt nicht weiter. Habe i, Buch geschaut, aber auch dort nichts gefunden und die Daten die die Methode erwartet sind korrekt. Wäre nett wenn du mir Dein funktionierendes Beispiel mailen könntest.

Danke im vorraus.

Anonymous

unregistriert

26

09.08.2003, 02:10

Hier nochmal der Code von der geänderten Methode :

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
69
70
71
72
73
74
75
76
77
78
79
80
********************************************************************/

#include <TriBase.h>

// ****************************************************************** 
// Nachrichtenfunktion für ein Bild 
tbResult tbGUIImage::ReceiveMessage(const tbGUIMessage* pMsg) 
{ 
    tbGUIVertex aVertex[4]; 

    switch(pMsg->Type) 
    { 
    case TB_GMT_RENDER: 
        // Wenn das Element unsichtbar ist, wird es nicht gerendert. 
        if(!m_bVisible) break; 

        if(pMsg->aiInt[0] == 2) 
        { 
            // Bild zeichnen 
            m_pGUI->AddRect(m_vPosition * m_pGUI->m_vScaling, m_vSize * m_pGUI->m_vScaling, 
                m_Color, m_vTopLeftTex, m_vBottomRightTex - m_vTopLeftTex, 
                aVertex); 

            // Textur setzen 
            tbDirect3D::SetTexture(0, m_pTexture); 

            // Vertexformat und Render-States 
            tbDirect3D::SetRS(D3DRS_ZENABLE, FALSE); 
            tbDirect3D::SetRS(D3DRS_ZWRITEENABLE, FALSE); 
            tbDirect3D::SetRS(D3DRS_COLORVERTEX, TRUE); 
            tbDirect3D::SetRS(D3DRS_ALPHABLENDENABLE, TRUE); 
            tbDirect3D::SetRS(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA); 
            tbDirect3D::SetRS(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA); 
            tbDirect3D::SetTSS(0, D3DTSS_COLOROP, D3DTOP_MODULATE); 
            tbDirect3D::SetTSS(0, D3DTSS_COLORARG1, D3DTA_CURRENT); 
            tbDirect3D::SetTSS(0, D3DTSS_COLORARG2, D3DTA_TEXTURE); 
            tbDirect3D::SetTSS(0, D3DTSS_ALPHAOP, D3DTOP_MODULATE); 
            tbDirect3D::SetTSS(0, D3DTSS_ALPHAARG1, D3DTA_CURRENT); 
            tbDirect3D::SetTSS(0, D3DTSS_ALPHAARG2, D3DTA_TEXTURE); 

            // Dreiecke zeichnen 
            tbDirect3D::GetDevice()->DrawPrimitiveUP(D3DPT_TRIANGLESTRIP, 2, aVertex, 
                sizeof(tbGUIVertex)); 
        } 
        break; 
    } 

    return TB_OK; 
}

// ******************************************************************
// Erstellung eines Bildes
tbResult tbGUI::CreateImage(int iID,
                            int iPage,
                            tbVector2 vPosition,
                            tbVector2 vSize,
                            PDIRECT3DTEXTURE9 pTexture,
                            tbVector2 vTopLeftTex,      // = tbVector2(0.0f, 0.0f)
                            tbVector2 vBottomRightTex,  // = tbVector2(1.0f, 1.0f)
                            tbColor Color)              // = tbColor(1.0f)
{
    tbGUIElement*   pElement;
    tbGUIImage*     pImage;


    // Image erstellen
    pElement = CreateElement(iID, TB_GET_IMAGE, iPage, vPosition, vSize);
    if(pElement == NULL) TB_ERROR("Fehler beim Erstellen des Bildes!", TB_ERROR);

    // Daten eintragen
    pImage = (tbGUIImage*)(pElement);
    pImage->m_pTexture = pTexture;
    pImage->m_vTopLeftTex = vTopLeftTex;
    pImage->m_vBottomRightTex = vBottomRightTex;
    pImage->m_Color = Color;

    return TB_OK;
}

// ******************************************************************

Anonymous

unregistriert

27

09.08.2003, 02:12

Zitat von »"Anonymous"«

Hey David,,,

ich bin jetzt sämtliche Wege durchgegangen und kam nicht zum ergebnis. Es kommt keine Fehlermeldung, kein Absturz, aber auch kein Bild. Du sagtes bei Dir hat es geklappt, hast Du das Beispiel noch ? Vielleicht könntest Du mir das ja mal mailen, ich weiß da echt nicht weiter. Habe i, Buch geschaut, aber auch dort nichts gefunden und die Daten die die Methode erwartet sind korrekt. Wäre nett wenn du mir Dein funktionierendes Beispiel mailen könntest.

Danke im vorraus.

Zitat

Von SM3D, Sorry Sch... IE6

Anonymous

unregistriert

28

09.08.2003, 02:22

:) ;) :P :rolleyes: ;p :angel: :-D :roll: ;D :huhu: :jojo: 8)

JUHU JUHU es klappt !!!

ICH dummes Scharf hatte vergessen :

Quellcode

1
drxDirect3D::SetFVF(DRX_GUI_FVF);


zusetzen in der Image.cpp

DANKE DAVID

Anonymous

unregistriert

29

29.08.2003, 14:10

Nur die Transparenz funktioniert nach wie vor nicht. :crying:

Anonymous

unregistriert

30

31.08.2003, 22:39

Hey David,,, Hey Leute,,,

JETZT klappt auch die Transparenz mit dem folgenden Code :

Quellcode

1
2
3
4
5
6
7
m_pGUI->CreateImage(610, 5, 
        drxVector2(300.0f, 100.0f),
        drxVector2(400.0f, 600.0f),
        m_pCreditsBild,
        drxVector2(0.0f, 0.0f),
        drxVector2(1.0f, 1.0f),
        drxColor(1.0f, 1.0f, 1.0f, 0.75f));


Statt dem Code :

Quellcode

1
2
3
4
5
6
7
m_pGUI->CreateImage(610, 5, 
        drxVector2(300.0f, 100.0f),
        drxVector2(400.0f, 600.0f),
        m_pCreditsBild,
        drxVector2(0.0f, 0.0f),
        drxVector2(1.0f, 1.0f),
        drxColor(1.0f));


Juhu !!! :jojo:

Werbeanzeige