Aktuelle Zeit: 05.05.2024, 11:56

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 22 Beiträge ]  Gehe zu Seite Vorherige  1, 2
Autor Nachricht
 Betreff des Beitrags: Re: GUI auch in 3D
BeitragVerfasst: 14.11.2007, 15:08 
Offline

Registriert: 01.09.2007, 11:00
Beiträge: 17
Kann ich den BillboardSceneNode nicht auch ohne Textur verwenden?

Ich experimentiere damit seit einer Weile rum, aber die Farbe bleibt immer Schwarz, egal was und wie ich sie vorgebe. Ich wollte die eigentliche Sprechblase wie vorgeschlagen aus dem BillboardSceneNode und einem BillboardTextSceneNode zusammensetzten und mir nachträglich aus den gleichen Bausteinen erstmal noch Buttons zusammensetzten, die man dann in die Sprechblase einfügen kann. (Wie ich das mit den ScrollBars mache weiss ich noch nicht genau, aber alles zu seiner Zeit).

Mal abgesehen davon das der BillboardSceneNode rechteckig ist (auch nicht so schön, aber vllt bastel ich mir das später noch zurecht) bekomme ich halt die Farbe nie auf was anderes als Schwarz gesetzt. :( Kann mir das jemand erklären?
Ist wahrscheinlich ein ziemliches "Noob"-Problem, aber so der überflieger bin ich halt dann doch noch nicht. Bin erst beim "klein-Anfangen" :)

Gruss
Der Wolf


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: GUI auch in 3D
BeitragVerfasst: 11.12.2007, 15:07 
Offline

Registriert: 01.09.2007, 11:00
Beiträge: 17
Kann mir jemand einen Tipp geben wie ich SceneNodes per Maus anklickbar mache? Also wie ich sie quasi in das Event-System einbinden kann so das ich den IEventReceiver mit verwenden kann um zum Beispiel Maus-Klick-Events zu verarbeiten?

Gruss
Der Wolf


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: GUI auch in 3D
BeitragVerfasst: 11.12.2007, 17:36 
Offline
Moderator
Benutzeravatar

Registriert: 15.04.2007, 20:20
Beiträge: 505
Wohnort: Reelsen
Sobald dein Event-Receiver einen Klick gemeldet bekommt, guckst du, ob an der entsprechenden Position ein Modell sitzt, indem du den Strahl von der Kamera aus an der Position mit der Welt kollidieren lässt.

_________________
Meine Gameengine :)
Bild


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: GUI auch in 3D
BeitragVerfasst: 11.12.2007, 17:53 
Offline

Registriert: 01.09.2007, 11:00
Beiträge: 17
Hmm ... das ist eine gute Idee. Ich hatte quasi andersherum gedacht. Sobald der "Button" gedrückt wird schickt er ein Event an den EventReceiver,


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: GUI auch in 3D
BeitragVerfasst: 15.01.2008, 16:29 
Offline

Registriert: 01.09.2007, 11:00
Beiträge: 17
Ok ... sorum funktioniert das, also das ich auf den klick warte und dann durch picking mir den SceneNode hole. Kann ich aber nicht ähnlich wie bei den GUI Buttons mir eine Funktion OnEvent(SEvent event) oder ähnliches definieren, die mir bei einem klick auf den SceneNode ein SEvent mit den Informationen zusammenstellt, welche ich dann im EventReceiver wieder auseinanderpflücke? So wie es bisher mit dem picking ist, müsste ich ja im EventReceiver einen allgemeinen Klick mit der Mouse abwarten, dann vergleichen auf welche SceneNode zugegriffen wurde um dann da vllt aus dem EventReceiver eine Methode aufzurufen die beispielsweise die Farbe des Nodes ändert und zusätzlich noch aus dem Receiver eine andere Methode die eigentliche Methode ausführt die bei einem klick auf den ButtonSceneNode (so habe ich das dingen bisher genannt) anwählt.


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: GUI auch in 3D
BeitragVerfasst: 15.01.2008, 16:39 
Offline
Moderator
Benutzeravatar

Registriert: 15.04.2007, 20:20
Beiträge: 505
Wohnort: Reelsen
Das Picking musst du selbst machen, ob du die daraus abgeleiteten Informationen direkt in der Funktion verarbeitest, oder die eine eigene Funktion aka OnPickEvent() schreibst, bleibt dir überlassen.

Irrlicht kann das nicht, deine OnEvent() wird sowas also nie bekommen.

_________________
Meine Gameengine :)
Bild


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: GUI auch in 3D
BeitragVerfasst: 15.01.2008, 16:48 
Offline

Registriert: 01.09.2007, 11:00
Beiträge: 17
Ich versuche die ganze Zeit heraus zu finden wie das ganze Event System für z.b. die normalen GUI Buttons funktioniert. Ich meine um einen Button zu benutzten muss man ja auch nicht erst in seinem EventReceiver auf einen Klick warten, dann über die Position abfragen ob sich ein Knopf an der Stelle befindet und erst dann die passende Methode ausführen, sonder man schnappt sich einfach die Caller ID aus dem Event. Dazu muss ja intern von der Irrlicht Engine der Maus-Klick eigentlich an die GUIEnvironment weitergegeben werden die den dann an den Button weiterleitet.
Wird denn sowas von Irrlicht nicht auch an den SceneManager weitergeleitet? Ich meine eine Methode setInputReceivingSceneManager() (oder so ähnlich) habe ich ja gefunden. Aber leider habe ich keine Ahnung ob das auch nur annähernd was damit zu tun hat.
Danke schonmal für eure geduldige Hilfe. Ich glaube ich bin ziemlich nervig schon mit diesem Thema. :?


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: GUI auch in 3D
BeitragVerfasst: 15.01.2008, 16:56 
Offline
Moderator
Benutzeravatar

Registriert: 15.04.2007, 20:20
Beiträge: 505
Wohnort: Reelsen
afaik gibt es das nicht.
übrigends:
Zitat:
Ich meine um einen Button zu benutzten muss man ja auch nicht erst in seinem EventReceiver auf einen Klick warten, dann über die Position abfragen ob sich ein Knopf an der Stelle befindet und erst dann die passende Methode ausführen

Doch, da geht das genauso, nur dass Irrlicht das für dich macht :p

_________________
Meine Gameengine :)
Bild


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: GUI auch in 3D
BeitragVerfasst: 15.01.2008, 17:00 
Offline

Registriert: 01.09.2007, 11:00
Beiträge: 17
:D

Ok ... stimmt. Das macht Irrlicht für mich. Das war auch eher so gemeint das man es nicht selber machen muss sondern sich darauf verlassen kann das Irrlicht das schon regelt. :P

Mist, dass es so eine internen Mechanismus für SceneNodes nicht gibt, das würde das alles etwas intuitivier für die anderen Leute machen die schliesslich mit den von mir implementierten 3D Buttons arbeiten sollen.

Aber vielen Dank für die nette Hilfe

Gruss
Der Wolf


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: GUI auch in 3D
BeitragVerfasst: 15.01.2008, 19:44 
Offline
Moderator
Benutzeravatar

Registriert: 15.04.2007, 20:20
Beiträge: 505
Wohnort: Reelsen
Zitat:
für die anderen Leute machen die schliesslich mit den von mir implementierten 3D Buttons arbeiten sollen.

Dann mach ne Funktion wie bool handleClick(x, y, button), die überprüft, ob ein Button gedrückt wurde, und mach dir deinen eigene EventReceiver-Klasse dafür.

_________________
Meine Gameengine :)
Bild


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

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 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