XML  »  Guide  »  Guida VRML 

Creare e utilizzare prototipi: il comando PROTO



Come accennato precedentemente, con il comando PROTO si può creare e successivamente utilizzare un personale prototipo di nodo che può subire delle modifiche specifiche per ogni singola copia che ne deriva. Anche in questo caso il procedimento da un punto di vista concettuale è decisamente semplice. In primo luogo occorre creare il nuovo prototipo indicando la parola chiave PROTO seguita dal nome da associare al nuovo nodo.

Successivamente si indica la "dichiarazione del prototipo", la quale contiene i singoli campi e relativi valori che fanno parte del nodo. Questi campi possono essere field, exposedField, eventIn e eventOut. Ecco la sintassi corretta :

PROTO nome [
eventIn tipo nome
eventOut tipo nome
exposedField tipo nome valore di default
field tipo nome valore di default
] {

Nel file realizzato come esempio si è deciso di realizzare il prototipo di una semplice casa che avesse le seguenti caratteristiche: la possibilità di modificare in ogni copia successiva sia il colore del corpo, sia il colore del tetto. Quindi:

#VRML V2.0 utf8
# semplice esempio di utilizzo del
comando PROTO
PROTO Casa [
exposedField SFColor colore_casa 1 .66 .25
exposedField SFColor colore_tetto 1 .25 .25
] {

Alla dichiarazione del prototipo, segue la "definizione del prototipo" che contiene un insieme di nodi che definiscono come sarà il nuovo nodo. All'interno di questa definizione è necessario trovare un modo di riferirsi ai valori che andranno letti dalla dichiarazione del prototipo. Questo modo è rappresentato dalla parola chiave IS. Per esempio:

[...]
# creazione del corpo principale della Casa
Shape {
appearance Appearance {
material Material { diffuseColor IS colore_casa }
}
geometry Box { size 20 20 20 }
}
[...]

Infine potremmo anche scrivere il codice completo:

Occorre precisare che la visualizzazione di un prototipo all'interno del browser, non avviene al termine della sua creazione, bensì solo nel momento in cui esso verrà invocato per la prima volta. Si noti anche che l'invocazione di un prototipo deve mantenere, come è logico, una ben precisa corerenza con le caratteristiche del prototipo creato. Infatti, il primo nodo contenuto nella definizione definisce il tipo del prototipo. Nel nostro caso, il prototipo "Casa" ha come primo nodo un nodo transform e quindi può essere utilizzato secondo la corretta sintassi del nodo transform; così come un nodo PROTO che definisce un nodo di tipo Material, potra' essere impiegato solo all'interno del nodo Appearance.

Per ulteriori informazioni, relative soprattutto alla possibilita' di innestare PROTO all'interno di altri PROTO, e all'impiego di EXTERNPROTO, si faccia riferimento alle specifiche.

Ultimi articoli XML

Open Graph Protocol, Facebook e il Web Semantico

Come sfruttare il Web Semantico "made in Facebook"

Introduzione a RDFa - 2

Arricchire un documento HTML con metadati semantici presi dal...

Introduzione a RDFa

Cos'è e a cosa serve il linguaggio che potrebbe aprire il campo alle...

Usare SVG per creare sfondi flessibili, scalabili e divertenti

Scopriamo cos'è il formato SVG e come possiamo usarlo in modo...

Visualizzare i metadati RDF Dublin core con le trasformazioni XSL

Mettere insieme XSL, XPATH e le definizioni Dublin core per...

Altri articoli

Guide XML

Guida Podcasting

Un percorso in 16 lezioni, per entrare nella filosofia del podcast...

Guida Smil 2.0

Un percorso pratico alla scoperta di SMIL: il linguaggio (XML) per...

Guida Web service

Cosa sono, a cosa servono e come si creano servizi Web, i sistemi...

Altre guide

Newsletter @XML

Ogni mese, direttamente nella tua e-mail: articoli, guide, FAQ e approfondimenti sui linguaggi della famiglia XML.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Nessun corso previsto

Nessun corso previsto