# NavigationBehaviour mit Maus und Keyboard



## Caesar (29. Dez 2005)

Morituros saluto.
Ich grüße die Todgeweihten.

Ich hab mir eine eigene Behaviour-Klasse geschrieben, mit der man bei gedrückter UP-/DOWN-Taste nach vorne/hinten läuft und sich mit LEFT/RIGHT um die y-Achse dreht. Das klappt auch soweit ganz gut, aber jetzt möchte ich eine Steuerung basteln, wie man sie aus professionellen Spielen kennt (z.B. Morrowind); man läuft mit UP-/DOWN nach vorne/hinten, mit LEFT/RIGHT läuft man nach links/rechts und das Drehen soll über die Maus erfolgen. Und da liegt das Problem. Die Behaviour soll aufwachen, wenn der Cursor eine bestimmte Entfernung vom Rand des Canvas3D hat. Das WakeUpCriterion dafür müsste ein AWTEvent sein. Es müsste also immer, wenn der Cursor in einen bestimmten Bereich (einen Streifen am Rand) hinein- oder hinausgeführt wird, ein Event verteilt werden, das vielleicht in der Behaviour-Klasse einen Integer auf -1 oder 0 oder 1 setzt, je nachdem ob nach links oder rechts oder gar nicht gedreht werden soll. In der Behaviour-Klasse hätte ich einen Thread, der die TransformGroup (also die ViewingPlatform) entsprechend transformiert.
Weiter weiß ich nicht  
Hoffentlich war das verständlich.

Könnt ihr mir sagen, ob die Idee stimmt und wie ich das umsetzen kann?


----------



## Illuvatar (29. Dez 2005)

Wie wäre das mit einem WakeupOnAWTEvent, das AWTEvent.MOUSE_MOTION_EVENT_MASK übergeben kriegt?


----------



## Caesar (29. Dez 2005)

Cur facilis, cum difficilitatis possibilitas?

Das scheint tatsächlich das zu sein, was ich brauche  . Danke!


----------



## Illuvatar (29. Dez 2005)

Quia scivisti minor quam me :bae:

Editum: Quamdiu discebas linguam latinam?

_Grml wieso fiel mir das in Gedanken so schwer von "has estudiado" wegzukommen :/ _


----------



## Caesar (29. Dez 2005)

Felix, qui sapiens.

Discebam linguam latinam per annos quinque. Quamdiu tu discebas linguam Latinam?
(Ich bin auf so ner altsprachlichen Schule, da lernt man ab der 5. Latein. Ab der 9. kann man sogar altgriechisch wählen, aber ich hab dann doch lieber Franz genommen :wink: )

Post Scriptum: Mit dem MouseMotion-Event ging's :toll:


----------



## Illuvatar (30. Dez 2005)

(keine Lust mehr in Latein zu übersetzen)
Ist jetzt das siebte Jahr, ich hab Latein auch seit der 5.  Wir haben seit der 10. ne Griechisch AG (weiß net ob alt oder neugriechisch) aber da geh ich auch net


----------

