Aktuelle Zeit: 13.05.2025, 08:20

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 
Autor Nachricht
BeitragVerfasst: 18.03.2009, 13:48 
Offline
Benutzeravatar

Registriert: 23.06.2008, 07:21
Beiträge: 74
Wohnort: Dresden
Hallo.
Ich hab für mein Schach überlegt, die steuerung umzuändern.
Es ist ja viel besser, das einfach mit der Maus auszuwählen und dann in das Ziel zu klicken.

Ich hab hier schon gelesen, das es güntig ist, einen Strahl von der Camera zur Maus zu ziehen. Aber wie mach ich das? Außerdem hab ich ja keine FPS cam (eigene steuerung)... Wie mach ich das da? könnt ihr mir da tipps geben?

lg

_________________
...then he said, "I can't feel my legs!" and I said "Joe! Stay with me Joe!" But it was ... to late. The garbage collector came and... he was gone. Best object I ever had.


Nach oben
 Profil  
 
BeitragVerfasst: 18.03.2009, 15:03 
Offline
Moderator
Benutzeravatar

Registriert: 25.03.2007, 18:11
Beiträge: 834
Wohnort: Hagen, NRW
Schau dir mal den ISceneCollisionManager an. Bietet einige möglichkeiten für solche Sachen.

Code:
line3df ray = smgr->getSceneCollisionManager()->getRayFromScreenCoordinates( MousePos );


Danach kannst du dann prüfen ob der strahl mit irgendwas kollidiert, etc.

_________________
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  
 
BeitragVerfasst: 18.03.2009, 16:14 
Offline
Benutzeravatar

Registriert: 23.06.2008, 07:21
Beiträge: 74
Wohnort: Dresden
hehe ^^ die zeile kenn ich.
Aber was bringt mir das?
Soll ich etwa eine linie von der Camera zur Maus ziehn?
ich hab halt keine FPS. oder wie soll das überhaupt funktionieren?

Weil so wie ich mir das denke funzt das ni...

_________________
...then he said, "I can't feel my legs!" and I said "Joe! Stay with me Joe!" But it was ... to late. The garbage collector came and... he was gone. Best object I ever had.


Nach oben
 Profil  
 
BeitragVerfasst: 18.03.2009, 16:25 
Offline
Moderator
Benutzeravatar

Registriert: 25.03.2007, 18:11
Beiträge: 834
Wohnort: Hagen, NRW
Wenn deine camera von ICameraSceneNode erbt ist das in ordnung.

Die Zeile bringt dir, dass du jetzt prüfen kannst welche SceneNode angeklickt wurde. Somit kannst du dann zum Beispiel eine Einheit auswählen. Oder du berechnest die Kollision zwischen dem Strahl und dem Spielfeld und weißt wohin etwas bewegt werden soll.

_________________
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  
 
BeitragVerfasst: 18.03.2009, 16:39 
Offline
Benutzeravatar

Registriert: 23.06.2008, 07:21
Beiträge: 74
Wohnort: Dresden
??? und was ist der rückgabewert von
"smgr->getSceneCollisionManager()->getRayFromScreenCoordinates( MousePos );"?

Irgendwie versteh ich nicht wozu "getRayFromScreenCoordinates" ganz genau so da ist... Die doku hab ich auch nicht verstanden...

Hast du icq?

_________________
...then he said, "I can't feel my legs!" and I said "Joe! Stay with me Joe!" But it was ... to late. The garbage collector came and... he was gone. Best object I ever had.


Nach oben
 Profil  
 
BeitragVerfasst: 18.03.2009, 18:36 
Offline
Moderator
Benutzeravatar

Registriert: 25.03.2007, 18:11
Beiträge: 834
Wohnort: Hagen, NRW
Die Funktion berechnet eine Linie, die sozusagen von der camera durch die maus geht.

_________________
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  
 
BeitragVerfasst: 20.03.2009, 19:15 
Offline
Benutzeravatar

Registriert: 17.02.2008, 14:08
Beiträge: 125
Irrlicht kann Kollisionen von Line3D objekten und ITriangleSelectoren überprüfen. Die oben beschriebene Funktion gibt dir nun so eine Linie. Diese steht sozusagen senkrecht auf dem Bildschirm und geht in deine Szene rein. Sie startet genau da wo du deine Maus hast.

Jetzt kannst du per getCollisionResultPosition deine SceneNode rausfinden. Im Collision Tutorial ist das ganze genauer beschrieben. Dort kann man die Feen "auswählen". Im grunde das was du willst. Schaus dir an.

MfG

_________________
Cold-Death
Magnon


Nach oben
 Profil  
 
BeitragVerfasst: 22.03.2009, 13:21 
Offline
Benutzeravatar

Registriert: 23.06.2008, 07:21
Beiträge: 74
Wohnort: Dresden
Danke für die Hilfe... Jetzt brauch ich ja nur noch den Strahl (linie) auf eine Kollision überprüfen.... und dann noch auswerten -.-' ^^ hehe

aber mal eine kleine andere Frage.
Ich hab ein IGUIImage element. In dem hab ich ein Bild mit gui->addImage( ... ) hinzugefügt.
Ich dachte, das ich das nun mit AnzeigePosition->remove() wieder löschen (leeren) kann, aber da schmiert das Programm ab. Der Debugger bringt komischerweise nichts ^^.

lg

_________________
...then he said, "I can't feel my legs!" and I said "Joe! Stay with me Joe!" But it was ... to late. The garbage collector came and... he was gone. Best object I ever had.


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 6 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:  
cron
Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de