Adsense Banner

la nidificazione

Papervision3D - la programmazione nidificata

La programmazione nidificata è la tecnica di aggiungere uno o più oggetti, figlio o figli, a un oggetto genitore. Un vantaggio nella nidificazione è che si può creare una struttura gerarchica nella quale i figli mostrano un comportamento relazionato al loro genitore. Per esempio, è possibile raggruppare un set di oggetti nidificandoli in un genitore e un gruppo di un'altra serie di oggetti nidificati in un altro genitore. Questo ti dà parecchio controllo su entrambi i gruppi di oggetti.

Negli esempi precedenti, ogni volta che abbiamo creato una primitiva l'abbiamo aggiunta direttamente alla scena utilizzando il metodo addChild (). Ma non solo Scene3D ha questo metodo. Nella documentazione si può verificare il percorso di eredità per entrambe le classi:
• DisplayObject3D eredita da DisplayObjectContainer3D
• Scene3D eredita da SceneObject3D, che eredita da  DisplayObjectContainer3D
Sia Scene3D che DisplayObject3D ereditano il metodo addChild () da DisplayObjectContainer3D. Questo significa che possiamo anche usare il metodo addChild () su tutte le primitive che ereditano le loro proprietà e metodi da DisplayObject3D.
Creiamo un progetto e lo chiamano NestingExample in cui una sfera verrà aggiunta ad un altra. Dopo aver importato Sphere, assegniamo un oggetto della classe ad una proprietà di classe.

private var parentSphere:Sphere;

Nel metodo init () per prima cosa bisogna creare la sfera genitore e aggiungerla alla scena.

private function init():void
{                           
     parentSphere = new Sphere(null,200,16,12);
     scene.addChild(parentSphere);

Poi abbiamo creato la sfera figlio utilizzando una variabile locale e le abbiamo impostato la coordinata x a 400.

     var childSphere:Sphere = new Sphere(null,100,12,8);
     childSphere.x = 400;

Ora si aggiunge la sfera figlio, ma non direttamente alla scena, bensì alla sfera genitore.

     parentSphere.addChild(childSphere);
}

La sfera figlio ha un valore di x di 400. Siccome non abbiamo impostato le coordinate di parentSphere, questa è posizionata nell'origine della scena con x, y, z a 0.
Vediamo cosa succede aggiungendo childSphere a parentSphere considerando il modo in cui percepiamo il sistema di coordinate e come lo conosciamo.

Filippo Porcari
Author: Filippo PorcariWebsite: http://filippo.porcari.oranjuice.org/Email: Questo indirizzo email è protetto dagli spambots. E' necessario abilitare JavaScript per vederlo.
designer freelance
Sono un graphic designer e mi occupo di pubblicità. Da più di 10 anni dedico le mie energie alla realizzazioni d'immagine aziendale e comunicazione visiva con un'attenzione alle nuove tecnologie del web. Da qualche anno ho scoperto il software open source e mi sono dedicato alla sua introduzione nel mio workflow produttivo ottenendo ottimi risultati.