Seite 1 von 3
Beispiel für Gadget3D?
Verfasst: 15.06.2009 21:34
von KatSeiko
Kann mal bitte jemand ein funktionierendes Beispiel für Gadget3D mit WindowedScreen posten?
Verfasst: 15.06.2009 21:45
von Vermilion
Siehe unten.
Verfasst: 16.06.2009 00:34
von KatSeiko
Also der Code funktioniert so nicht. Der Compiler beschwert sich an Zeile 91, dass das Fenster nicht initialisiert sei.
Scheint überhaupt etwas sehr komplex zu sein... CompilerIf?

Verfasst: 16.06.2009 10:39
von Vermilion
Die CompilerIf sind auskommentiert, also nicht von Interesse. Komplexer ist es keines Wegs. Ich sehe gerade, vielleicht solltest du mal die neueste Version von PureBasic benutzen, denn das OGRE Update ist erst mit 4.30 gekommen, und ob es in der Beta schon so toll war, weiß ich nicht.
Du musst darauf achten, dass es die 3DArchive Pfade auch gibt. Und, dass da auch etwas drin ist, denn CEGUI lädt beim Start den Standard Skin (Taharez), und wenn der nicht da ist, ist es kaum ein Wunder, dass es nicht funktioniert.
Bei mir funktioniert es jedenfalls (PureBasic 4.31, wobei es bei PureBasic 4.30 auch schon ging). An PureBasic liegt es somit höchstwahrscheinlich nicht.
Das ist auch doof, dass bei den Examples kein funktionierendes Beispiel für CEGUI mit drin ist, sehe ich gerade... Ich weiß nicht, ob ich den Order mit den CEGUI Dateien einfach so hochladen darf, deshalb lasse ich das lieber.
Verfasst: 18.06.2009 11:56
von KatSeiko
Wie wärs denn mit einem einfacheren Beispiel? Eine Demonstration muss doch mit 3 oder 4 Zeilen zu schaffen sein... Naja, vielleicht ein paar mehr, aber nicht 2 Seiten DIN A4...
Verfasst: 18.06.2009 12:31
von Vermilion
Druckst du das etwa aus?

Hmpf, dann hier:
Code: Alles auswählen
EnableExplicit
Enumeration ; Windows
#Window_Main
EndEnumeration
Global Title.s = "CEGUI Example", ScreenWidth = 1024, ScreenHeight = 768, WindowEvent
InitEngine3D() : InitSprite() : InitSound() : InitMouse() : InitKeyboard()
OpenWindow(#Window_Main, 0, 0, ScreenWidth, ScreenHeight, Title, #PB_Window_ScreenCentered | #PB_Window_SystemMenu)
OpenWindowedScreen(WindowID(#Window_Main), 0, 0, ScreenWidth, ScreenHeight, 0, 0, 0)
Add3DArchive("Data\", #PB_3DArchive_FileSystem)
Add3DArchive("GUI\", #PB_3DArchive_FileSystem)
Add3DArchive("GUI\schemes", #PB_3DArchive_FileSystem)
Add3DArchive("GUI\imagesets", #PB_3DArchive_FileSystem)
Add3DArchive("GUI\fonts", #PB_3DArchive_FileSystem)
Add3DArchive("GUI\looknfeel", #PB_3DArchive_FileSystem)
Add3DArchive("GUI\layouts", #PB_3DArchive_FileSystem)
Add3DArchive("Water", #PB_3DArchive_FileSystem)
OpenWindow3D(#PB_Any, 100, 100, 400, 300, "CEGUI Window")
CreateCamera(0, 0, 0, 100, 100)
ShowGUI(255, 1)
Repeat
If Windowed = #True
Repeat
WindowEvent = WindowEvent()
If WindowEvent = #PB_Event_CloseWindow
End
EndIf
Until WindowEvent = #False
EndIf
ExamineMouse()
ExamineKeyboard()
If KeyboardPushed(#PB_Key_Escape)
CloseScreen()
End
EndIf
InputEvent3D(MouseX(), MouseY(), MouseButton(#PB_MouseButton_Left), KeyboardInkey())
RenderWorld()
FlipBuffers()
ForEver
Und von nun aus wirst du doch wohl alleine weiterkommen, oder? Window3D ist schon da, und die Gadgets wirst du wohl selber raufkriegen, wenn du schon mit der normalen Window und Gadget Library gearbeitet hast.
Ob Leerzeilen überflüssig sind, ist Ansichtssache. So, es funktioniert, fertig. Und mein lieber Scholli... wayne?
Verfasst: 18.06.2009 12:40
von Fluid Byte
Komplett von mir geschrieben. Kürzer geht es nicht.
Nimm' mal die ganzen überflüssigen Leerzeilen raus dann bleib davon nur noch ein Bruchteil übrig.
Verfasst: 18.06.2009 12:57
von Kaeru Gaman
genau...
... btw... @Vanillion: netter neuer Ava
Verfasst: 19.06.2009 02:49
von KatSeiko
Okay... Ursachenforschung.
Dieser Code will mit meinem frisch installierten PureBasic 4.31 nicht laufen. Was muss ich tun, damit es klappen kann?
Verfasst: 19.06.2009 10:17
von Vermilion