Aktuelle Zeit: 14.05.2024, 14:42

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 15 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Autor Nachricht
 Betreff des Beitrags: neues Fenster hinzufügen
BeitragVerfasst: 09.04.2007, 13:27 
Offline
Benutzeravatar

Registriert: 25.03.2007, 18:57
Beiträge: 172
Hallo,

Ich habe wieder mal ein Problem und hoffe auf eure Hilfe:
Ich habe einen Button namens Laden erstellt:

Code:
OptionenButton = guienv->addButton(core::rect<int>(256-50,192-20,256+50,192+20), false, 4, L"Optionen");

Nun möchte ich, dass wenn dieser Button angeklickt wird sich ein neues Fenster öffnet:

Code:
case 4:
   if (event.GUIEvent.EventType == gui::EGET_BUTTON_CLICKED )
      device->closeDevice();
      fehler = true;
      
   break;


Nun, derzeit beende ich einfach nur das Fenster. Ich möchte jetzt aber ein Fenster hinzufügen, in dem ich schreibe: Optionen sind noch nicht verfügbar (später kann ich es dann dort erweitern)

Ich wäre wirklich über eure Hilfe sehr erfreut. Denn, wenn ich dort weitergekommen bin habe ich einen ordentlichen Teil meines Spiels verwirklicht ;)


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 09.04.2007, 13:49 
Offline
Moderator
Benutzeravatar

Registriert: 25.03.2007, 18:11
Beiträge: 834
Wohnort: Hagen, NRW
erstelle doch einfach ein IGUIWindow. Damit ersparst du dir dieses ganze device schließen öffnen schließen...

_________________
Phenom X4 9950 BE | 6144MB DDR2-800 | GeForce 8800GT 512MB | Asus M3A32-MVP Deluxe | 2TB HDD | 520W Seasonic NT | Soprano Tower | Samsung 22" TFT + Fujitsu-Siemens 17" TFT + Toshiba 42" FullHD LCD | Windows 7 Proessional x64
Behind the Brain


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 09.04.2007, 14:06 
Offline
Benutzeravatar

Registriert: 25.03.2007, 18:57
Beiträge: 172
Code:
case 9:
   if (event.GUIEvent.EventType == gui::EGET_BUTTON_CLICKED )
   device->closeDevice();
   irr::gui::IGUIWindow::IGUIWindow( IGUIEnvironment,  IGUIElement, s32,  core::rect< s32 >); 
   fehler = true;
   break;


soviel konnte ich damit noch nicht anfangen. Meintest du das so ähnlich, wie oben genannt? (ich bin noch anfänger)

Was muss ich da alles includen...?


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 09.04.2007, 15:14 
Offline
Moderator
Benutzeravatar

Registriert: 25.03.2007, 18:11
Beiträge: 834
Wohnort: Hagen, NRW
Code:
case 9:
   if (event.GUIEvent.EventType == EGET_BUTTON_CLICKED )
   {
      IGUIWindow* wnd = guienvironment->addWindow(rect<s32>(100,100,200,200),false,L"Fenster");
      guienvrionment->addStaticText(L"Optionen sind noch nicht verfügbar",rect<s32>(0,0,100,25),false,true,wnd);
   }


Jetzt hast du in deinem Irrlichtfenster ein neues Fenster des GUIs, und musst dein device nicht schließen.

Zu dem includen:
Du musst immer nur die irrlicht.h included, den die included alle anderen dateien die die engine braucht

_________________
Phenom X4 9950 BE | 6144MB DDR2-800 | GeForce 8800GT 512MB | Asus M3A32-MVP Deluxe | 2TB HDD | 520W Seasonic NT | Soprano Tower | Samsung 22" TFT + Fujitsu-Siemens 17" TFT + Toshiba 42" FullHD LCD | Windows 7 Proessional x64
Behind the Brain


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 09.04.2007, 15:37 
Offline
Benutzeravatar

Registriert: 25.03.2007, 18:57
Beiträge: 172
Danke schonmal!

Code:
--------------------Konfiguration: Demo - Win32 Debug--------------------
Kompilierung läuft...
CMainMenu.cpp
C:\Programme\lords\examples\Demo\CMainMenu.cpp(191) : error C2065: 'IGUIWindow' : nichtdeklarierter Bezeichner
C:\Programme\lords\examples\Demo\CMainMenu.cpp(191) : error C2065: 'wnd' : nichtdeklarierter Bezeichner
C:\Programme\lords\examples\Demo\CMainMenu.cpp(191) : error C2065: 'guienvironment' : nichtdeklarierter Bezeichner
C:\Programme\lords\examples\Demo\CMainMenu.cpp(191) : error C2227: Der linke Teil von '->addWindow' muss auf Klasse/Struktur/Union zeigen
C:\Programme\lords\examples\Demo\CMainMenu.cpp(191) : error C2065: 'rect' : nichtdeklarierter Bezeichner
C:\Programme\lords\examples\Demo\CMainMenu.cpp(191) : error C2275: "s32" : Ungültige Verwendung dieses Typs als  Ausdruck
        c:\programme\lords\include\irrtypes.h(43) : Siehe Deklaration von 's32'
C:\Programme\lords\examples\Demo\CMainMenu.cpp(192) : error C2227: Der linke Teil von '->addStaticText' muss auf Klasse/Struktur/Union zeigen
C:\Programme\lords\examples\Demo\CMainMenu.cpp(192) : error C2275: "s32" : Ungültige Verwendung dieses Typs als  Ausdruck
        c:\programme\lords\include\irrtypes.h(43) : Siehe Deklaration von 's32'
Fehler beim Ausführen von cl.exe.

CMainMenu.obj - 8 Fehler, 0 Warnung(en)


Jetzt kommen leider diese Fehler.
Hat jemand da eine Idee zu?


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 09.04.2007, 16:07 
Offline
Moderator
Benutzeravatar

Registriert: 25.03.2007, 18:11
Beiträge: 834
Wohnort: Hagen, NRW
Du solltest versuchen den code zu verstehen und ihn nicht einfach kopieren ;)

guienvironment ist ein pointer auf das IGUIEnvironment das du durch IrrlichtDevice::getGUIEnvironment bekommst.

Die restlichen Fehler liegen daran, dass ich immer using namespace irr/gui/video/etc... benutze

_________________
Phenom X4 9950 BE | 6144MB DDR2-800 | GeForce 8800GT 512MB | Asus M3A32-MVP Deluxe | 2TB HDD | 520W Seasonic NT | Soprano Tower | Samsung 22" TFT + Fujitsu-Siemens 17" TFT + Toshiba 42" FullHD LCD | Windows 7 Proessional x64
Behind the Brain


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 09.04.2007, 16:43 
Offline
Benutzeravatar

Registriert: 25.03.2007, 18:57
Beiträge: 172
ich versuche ja ihn zu verstehen. Da ich aber erst ganz am anfang bin ist es denke ich klar, dass ich nicht alles wissen kann, was ich dort aufschreibe oder, wie du sagst Kopiere. Ich habe mir ja gerade die Demo genommen und versuche sie zu "verstehen" Dabei muss ich immer wieder nachschauen, was was bedeutet. Würde ich aber gleich am anfang bei jedem einzelnen codeteilchen schauen, was es bedeutet wäre ich in 5 Tagen immernochnicht fertig und habe nochnichtmal den aufbau eines solchen Codes verstanden :wink:

aah durch das using namespace sind schonmal 5 Fehler weniger da :)
Zitat:
guienvironment ist ein pointer auf das IGUIEnvironment das du durch IrrlichtDevice::getGUIEnvironment bekommst.

Damit meinst du also
Code:
guienvironment -> IrrlichtDevice::getGUIEnvironment

richtig?

Jetzt mein letztes Problem und dann störe ich auch heute nicht weiter wäre. Wo das einfügen? wenn ich es beim case einfüge habe ich leider wieder 8 Fehler statt meine 3

DANKE


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 09.04.2007, 18:10 
Offline
Moderator
Benutzeravatar

Registriert: 25.03.2007, 18:11
Beiträge: 834
Wohnort: Hagen, NRW
Code:
IGUIEnvironment* guienvironment = device->getGUIEnvironment()

_________________
Phenom X4 9950 BE | 6144MB DDR2-800 | GeForce 8800GT 512MB | Asus M3A32-MVP Deluxe | 2TB HDD | 520W Seasonic NT | Soprano Tower | Samsung 22" TFT + Fujitsu-Siemens 17" TFT + Toshiba 42" FullHD LCD | Windows 7 Proessional x64
Behind the Brain


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 09.04.2007, 19:22 
Offline
Benutzeravatar

Registriert: 25.03.2007, 18:57
Beiträge: 172
hey echt vielen dank nochmal. Endlich habe ich es geschafft :)


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 12.04.2007, 11:53 
Offline

Registriert: 12.04.2007, 11:47
Beiträge: 108
Falls du wirklich ein ganz neues fenster brauchst kannst du das am einfachsten mit klassen lösen.
z.B.

class COptions
{
/...normal class code.../
void drop(void){ delete this;}
}
diese klasse ist im prinzip dein menu und beim klicken den start buttons rufts du dann deine cgame klasse auf die wieder ein neues device öffnet und dann ruft einfach noch die function drop() auf und das menu is auch weg


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 12.04.2007, 15:04 
Offline
Moderator
Benutzeravatar

Registriert: 11.03.2007, 20:25
Beiträge: 556
Wohnort: Frankfurt/Main
man kann auch einfach von IUnknown erben ;) ..

_________________
yo. life's so bloody short.
Ihr dachtet Schulfernsehn sei die ultimative Folter? Falsch: Fahrstuhlmusik, extra leise.


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 12.04.2007, 15:10 
Offline

Registriert: 12.04.2007, 11:47
Beiträge: 108
blub blubb


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 15 Beiträge ]  Gehe zu Seite 1, 2  Nächste

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 8 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de