NOTA! Questo sito utilizza i cookie e tecnologie simili.

Se non si modificano le impostazioni del browser, l'utente accetta. Per saperne di piu'

Approvo

Guida Java 3D - 77: KeyNavigatorBehavior

Guida Java 3D, corso di base 

 

Abbiamo visto che è possibile interagire con lo Scene Graph, modificando le proprietà dei Transform Group e, quindi, degli oggetti figli dei TG.

 

Come anticipato nella sezione dedicata al Simple Universe, vi è un TG che controlla la View Platoform, e quindi il punto di vista dell'osservatore (e quello che verrà visualizzato sullo schermo, in un certo senso).

Java 3D Elementi del View Branch Graph classi

 

 

E' logico e corretto supporre quindi di poter modificare le proprietà di questo TG tramite un Behavior, al fine di 'navigare' nello spazio 3D.

Java3D mette a disposizione un Behavior già pronto per l'uso, è sufficiente creare un Simple Universe e scrivere:

 

SimpleUniverse sU = new SimpleUniverse(canvas3D);

TransformGroup vpTG = sU.getViewingPlatform().getViewPlatformTransform();

KeyNavigatorBehavior keyNavBeh = new KeyNavigatorBehavior(vpTG);

keyNavBeh.setSchedulingBounds( new BoundingSphere( new Point3d(), 1000.0));

scene.addChild(keyNavBeh); .

 

 

 

Stiamo modificando, quindi, la posizione e l'orientamento della View Platform.

Il Behavior 'precotto' messo a disposizione da Java3D permette di navigare nello spazio virtuale con questi controlli:

ROTAZIONI

FrecciaDestra: ruota a destra

FrecciaSinistra: ruota a sinistra

PagSu: ruota verso il basso

PagGiù: ruota verso l'alto

TRASLAZIONI

ALT e FrecciaSu: trasla in avanti

ALT e FrecciaGiù: trasla indietro

ALT e FrecciaDestra: trasla a destra

ALT e FrecciaSinistra: trasla a sinistra

ALT e PagSu: trasla verso l'alto

ALT e PagGiù: trasla verso il basso

 

La scena definita nel file di esempio 'Esempio BehaviorNavigazione.java' permette, appunto, di navigare nello spazio 3D utilizzando tale Behavior.

 

 

E' possibile creare, comunque, un proprio Behavior di navigazione.

E' quello che succede in 'Esempio NavBehavior2.java'; in questo caso, i comandi sono:

W: spostamento in avanti di una unità;

A: spostamento a sinistra di una unità;

S: spostamento indietro di una unità;

D: spostamento a destra di una unità;

FracciaSu: rotazione dell'osservatore, verso 'l'alto';

FrecciaGiù: rotazione dell'osservatore, verso 'il basso';

FrecciaSinistra: rotazione dell'osservatore, verso 'sinistra';

FrecciaDestra: rotazione dell'osservatore, verso 'destra'.

 

In questo caso si fa uso di due classi: EsempioNavBehavior2, che definisce la scena e contiene il main dell'applicazione, e 'MioBehaviorTastiera', che definisce i controlli (i tasti) da accettare e come modificare il Transform Group target.

 

Il Behavior di controllo definito in MioBehaviorTastiera non è diverso da quelli visti in mioBehavior e mioBehavior2: quello che cambia è che, in questo caso, il Behavior viene creato nel costruttore, prende come parametro il View Platform TG e viene agganciato direttamente alla radice del Conten Branch Graph.

 

 

Per un elenco completo (lista) dei tutorial e videotutorial su Java, Java 2D, Java 3D e J2ME, clicca qui


 
Libri e eBook sul linguaggio di programmazione Java:
 
 
ebook PDF "Java 3D: guida di base" di Francesco Milanese
 
 
 
 
 

 

Pagina di Francesco Milanese (redbaron85) su Facebook   Pagina di Francesco Milanese (redbaron85) su Google Plus   Profilo di Francesco Milanese (redbaron85) su LinkedIn   Pagina di Francesco Milanese (redbaron85) su Twitter   Canale Youtube di Francesco Milanese (redbaron85ct)

Vai all'inizio della pagina