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? :shock:

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. :wink:

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... Bild

... 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
Bild