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

BlackSnake

Community-Fossil

  • »BlackSnake« ist der Autor dieses Themas

Beiträge: 1 549

Beruf: Student

  • Private Nachricht senden

1

30.07.2006, 10:14

Fehler bei GUI

hi,
ich bin gerade dabei die gui aus dem buch anzuwenden,
aber sobald ich die render methode aufrufe (der gui) stürzt das programm mit einer fehlermeldung ab.

was könnte das sein??

ps. ich habe alle skin sachen übergebene

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

BlackSnake

Community-Fossil

  • »BlackSnake« ist der Autor dieses Themas

Beiträge: 1 549

Beruf: Student

  • Private Nachricht senden

3

30.07.2006, 11:00

C-/C++-Quelltext

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
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
//'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

// MAINMENÜ - DEFINITION DER HAUPTSTEUERUNGSKLASSE

//'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''



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

// MAINMENÜ - INCLUDES,DEFINES...

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


#include "Steuerungsklasse.h"

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

// MAINMENÜ - INIT()

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

tbResult CMainMenü::Init()
{
    // Hauptmenü laden

    Load();

    return TB_OK;
}
//***************************************************************

// MAINMENÜ - EXIT()

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

tbResult CMainMenü::Exit()
{
    // Hauptmenü entladen

    Unload();

    return TB_OK;
}
//***************************************************************

// MAINMENÜ - MAINMENÜMESSAGE

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

tbResult MainMenüMessage(int iID, tbGUIMessage* pMsg, tbGUI* pGUI)
{
    switch(pMsg->Type)
    {
    case TB_GMT_ELEMENTCLICKED: // Beenden

        {
            PostQuitMessage(0);
            break;
        }
    }
    return TB_OK;
}
//***************************************************************

// MAINMENÜ - LAOD()

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

tbResult CMainMenü::Load()
{
    //------------------------------------------------------------------------------------------

    // Skin der Benutzeroberfläache laden

    m_pGuiSkin.pSkinTexture         = tbTextureManager::Instance().GetTexture("Data\\Texturen\\MainMenü\\GUI.bmp", TRUE, D3DX_DEFAULT, D3DX_DEFAULT, 1, D3DFMT_UNKNOWN, 0, D3DPOOL_MANAGED, D3DX_DEFAULT, D3DX_DEFAULT, D3DCOLOR_XRGB(255, 0, 255));
        BS_LOAD("GUI-Skin-Texture erfolgreich geladen");
    m_pGuiSkin.pEffect              = new tbEffect; m_pGuiSkin.pEffect->Init("Data\\FX\\MainMenü\\GUI.fx"); m_pGuiSkin.pEffect->GetEffect()->SetTexture("Texture", m_pGuiSkin.pSkinTexture);
        BS_LOAD("GUI-Skin-Effekt erfolgreich geladen");
    m_pGuiSkin.pFont                = g_pFlash_2->GUIFont;
    m_pGuiSkin.vCursorSize          = tbVector2(32.0f,32.0f);
    m_pGuiSkin.CursorColor1         = tbColor(1.0f,1.0f,1.0f,1.0f);
    m_pGuiSkin.CursorColor2         = tbColor(1.0f,1.0f,1.0f,1.0f);
    m_pGuiSkin.vCursorHotSpot       = tbVector2(1.0f,1.0f);
    m_pGuiSkin.fCursorSpeed         = 300.0f;
    m_pGuiSkin.EnabledColor         = tbColor(1.0f,1.0f,1.0f,0.5f);
    m_pGuiSkin.DisabledColor        = tbColor(1.0f,1.0f,1.0f,0.25f);
    m_pGuiSkin.HighlightColor       = tbColor(1.0f,1.0f,1.0f,0.75f);
    m_pGuiSkin.vTextSize            = tbVector2(1.0f);
    m_pGuiSkin.EnabledTextColor     = tbColor(1.0f,1.0f,1.0f,0.5f);
    m_pGuiSkin.DisabledTextColor    = tbColor(1.0f,1.0f,1.0f,0.25f);
    m_pGuiSkin.HighlightTextColor   = tbColor(1.0f,1.0f,1.0f,0.75f);

    // Fehler beim Laden der GUI-Texture oder des GUI-Effekts

    if(m_pGuiSkin.pSkinTexture == NULL) { BS_LOADERROR("Fehler beim Laden der GUI-Skin-Texture");}
    if(m_pGuiSkin.pEffect == NULL) { BS_LOADERROR("Fehler beim Laden des GUI-Skin-Effekt");}

    //------------------------------------------------------------------------------------------

    // Benutzeroberfläche erstellen

    m_pGui = new tbGUI;
    if(m_pGui->Init(&m_pGuiSkin, MainMenüMessage,
                    tbVector2(800.0f, 600.0f),
                    tbDirect3D::Instance().GetScreenSize() / tbVector2(800.0f, 600.0f)))
    {
        // Fehler!

        TB_ERROR("Fehler bei der Erstellung der Benutzeroberfläche!", TB_ERROR);
    }

    //------------------------------------------------------------------------------------------

    // Benutzeroberfläche erstellen


    // Erste Hauptmenüseite: Einfacher Text mit einem Knopf

    m_pGui->CreateText(101, 0,tbVector2(0.5f,0.5f),"Dies ist ein Test");
    m_pGui->CreateButton(102,1, tbVector2(50.0f,50.f), tbVector2(120.0f,50.0f)," TEST");

    //------------------------------------------------------------------------------------------

    // Erste Seite ist aktiv

    m_pGui->SetCurrentPage(0);

    return TB_OK;
}
//***************************************************************

// MAINMENÜ - UNLOAD()

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

tbResult CMainMenü::Unload()
{
    //------------------------------------------------------------------------------------------

    // GUI und alle anderen Sachen der GUI löschen

    // Skin löschen

    m_pGuiSkin.pEffect->GetEffect()->SetTexture("Texture", NULL);
    TB_SAFE_DELETE(m_pGuiSkin.pEffect);
    tbTextureManager::Instance().ReleaseTexture(m_pGuiSkin.pSkinTexture);

    // Benutzeroberfläche löschen

    TB_SAFE_DELETE(m_pGui);

    //------------------------------------------------------------------------------------------


    return TB_OK;
}
//***************************************************************

// MAINMENÜ - MOVE()

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

tbResult CMainMenü::Move(float fTime)
{
    //------------------------------------------------------------------------------------------

    // Benutzeroberfläche bewegen

    m_pGui->Move(fTime, g_pbButtons, g_pfButtons);

    return TB_OK;
}
//***************************************************************

// MAINMENÜ - Render()

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

tbResult CMainMenü::Render(float fTime)
{
    //------------------------------------------------------------------------------------------

    // Puffer leeren und Szene beginnen

    tbDirect3D& D3D = tbDirect3D::Instance();
    D3D->Clear(0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, tbColor(0.0f, 1.0f, 0.0f), 1.0f, 0);
    D3D->BeginScene();

    //------------------------------------------------------------------------------------------

    // Benutzeroberfläche rendern

    m_pGui->Render(fTime);

    //------------------------------------------------------------------------------------------

    // Szene beenden

    D3D->EndScene();

    return TB_OK;
}
//***************************************************************

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


jo, hier is er

BlackSnake

Community-Fossil

  • »BlackSnake« ist der Autor dieses Themas

Beiträge: 1 549

Beruf: Student

  • Private Nachricht senden

4

30.07.2006, 11:50

habe den fehler gefunden.
ich habe zwar schon nen font zugewiesen aber dem font selbst habe ich noch keine schriftart zugewiesen^^

5

03.08.2006, 12:59

solltest keine Ä,Ö, Ü für Funktion/Variablen Namen verwenden.......

BlackSnake

Community-Fossil

  • »BlackSnake« ist der Autor dieses Themas

Beiträge: 1 549

Beruf: Student

  • Private Nachricht senden

6

03.08.2006, 14:09

Text kann nicht angezeigt werden

hi,
ich möchte mit createtext einen namen anzeigen lassen,
der name ist nur ein string. jetzt wandle ich den so um.

C-/C++-Quelltext

1
char* Profilname = (char*)(g_pFlash_2->m_pProfil->GetProfilName().c_str());


nur jetzt zeigt die gui den text nicht an. woran kann das liegen??

Chase

Alter Hase

Beiträge: 753

Wohnort: Nagaoka / Darmstadt / Düsseldorf

Beruf: fauler Studi

  • Private Nachricht senden

7

03.08.2006, 14:17

hast du vergessen begin() und end() der Fontklasse aufzurufen ?
"Have you tried turning it off and on again?"

BlackSnake

Community-Fossil

  • »BlackSnake« ist der Autor dieses Themas

Beiträge: 1 549

Beruf: Student

  • Private Nachricht senden

8

03.08.2006, 14:26

ne es sollte ja eigentlich so gehen, aber es geht nicht.
aufgerufen habe ich alles

Black-Panther

Alter Hase

Beiträge: 1 443

Wohnort: Innsbruck

  • Private Nachricht senden

9

03.08.2006, 15:01

Zitat

aufgerufen habe ich alles


Wenn man exit() zu früh aufruft, gehts nimma :D ;)
stillalive studios
Drone Swarm (32.000 Dronen gleichzeitig steuern!)
facebook, twitter

Phili

unregistriert

10

03.08.2006, 15:02

@BlackPanther
Naja, ist ja naheliegend, das nach der Exit die Szene Vorbei sein sollte, oder?

Werbeanzeige