Integració i generació dinàmica de clips de pel·lícula  
 
 
  Una de les funcionalitats més potents del llenguatge ActionScript és la capacitat per poder generar còpies noves d'instàncies de clips de pel·lícula.  
     
 

En realitat, es tracta de dos dels mètodes més interessants que proporciona aquest llenguatge: els mètodes duplicateMovieClip i attachMovie.

 
      
  Fins ara, heu treballat més amb les propietats i alguns mètodes bàsics que us permetien accedir a determinats fotogrames de les pel·lícules. Ara començareu a treballar més amb mètodes.  
      
  Podeu fer una comparació d'aquest llenguatge amb el nostre per entendre millor la relació d'objectes, propietats i mètodes. En el nostre llenguatge, s'utilitzen noms, adjectius i verbs com els elements més bàsics per construir oracions amb significat complet. Podeu comparar el nom amb l'objecte, els adjectius amb les propietats i el verb amb el mètode que correspondria a l'acció.  
      
  Vegeu un exemple:  
      
  El cotxe llarg anava a Barcelona  
  cotxe.llarg; cotxe.anar  
  cotxe.witdth = 400; cotxe.gotoAndPlay(120);  
     
  Com podeu observar, els mètodes són les accions, és a dir, els verbs, serveixen per fer coses; mentre que les propietats indiquen les característiques de forma, mida, color..., i així, com en el nostre llenguatge, els objectes (noms) són totalment necessaris per a la construcció de frases.  
      
  Aplicant el mètode nou amb el qual començareu a treballar, podríeu fer aquesta frase per duplicar un objecte:  
     
  cotxe.duplicateMovieClip("cotxe2",2);  
     
  Amb aquest codi, duplicareu la instància cotxe. Tindreu dues instàncies amb les mateixes propietats (el clip duplicat hereta les accions de clip pare) i, encara que són iguals, podeu considerar la instància cotxe com a pare o mare de cotxe2.  
     
  La sintaxi d'aquesta ordre és:  
      
  MovieClip.duplicateMovie("nom nou", nivell de profunditat)  
     
  Per entendre millor el funcionament d'aquest mètode, podeu fer la lectura de dreta a esquerra. Quan es crea un clip de pel·lícula a l'escenari, Flash crea un nivell de profunditat com si fos una capa. Com més gran és aquest nivel, més a prop serà de vosaltres l'objecte. Una vegada reservat el nivell de profunditat, el mètode crea un duplicat de l'objecte original. Si us fixeu, l'objecte duplicat ha d'anar entre cometes, però també podria ser una variable.  
      
  Una observació que cal fer és que cada instància duplicada ha d'estar en un nivell diferent de profunditat. Si intenteu fer dues duplicacions amb el mateix nivell, solament aconseguireu duplicar una vegada la instància.  
      
  Un altre mètode complementari d'aquest és MovieClip.removeMovie, amb el qual podeu esborrar la instància duplicada que vulgueu descarregant la memòria de clips innecessaris.  
      
  Un altre mètode relacionat amb el nivell de profunditat és swapDepths. Amb aquesta acció nova, podreu canviar el nivell de profunditat d'una instància. És una bona solució per controlar els objectes en l'espai tenint en compte la profunditat de camp, sobretot si voleu tenir barres, botons, menús... als nivells superiors per protegir-ne la visualització.  
    
 

La sintaxi d'aquesta ordre és: MovieClip.swapDepths(nivell/desti).

 
      
  El nivell us indica la profunditat, però també disposeu d'una opció nova: desti. Amb aquesta opció, podeu intercanviar el nivell de profunditat de la instància amb una altra instància de l'escenari.  
    
  La combinació d'aquest mètode amb variables i bucles és el camí per generar d'una manera dinàmica instàncies de clips de pel·lícula.  
      
Aquestes funcionalitats noves obren moltes possibilitats i idees per a la creació, tant d'efectes d'animació com d'aplicacions multimèdia dinàmiques, on es creen objectes en temps d'execució.  
      
   Algunes aplicacions poden ser:  
 

 
 
  • Automatització de tasques repetitives
  • Simulacions
  • Construccions dinàmiques de figures geomètriques
  • Representacions de funcions
  • Efectes d'animació