Flash CS3 - Flash CS4

Free tutorials and scripts for all.
Actionscript 3.0

getDefinitionByName classe di Actionscript 3.0

This is a discussion on getDefinitionByName classe di Actionscript 3.0 within the Articoli e tutorials forums, part of the Flash CS3 e Actionscript 3.0 category; Salve a tutti ! Abbiamo già visto a cosa potrebbe servire la classe getDefinitionByName di Actionscript 3.0 lavorando con dei ...


Go Back   Forum Flash CS3 Flash CS4 > Flash CS3 e Actionscript 3.0 > Articoli e tutorials

Register FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 03-12-07, 06:40
Administrator
 
Join Date: Jul 2007
Location: Cesena
Posts: 4,486
Rep Power: 6
Flep is on a distinguished road
getDefinitionByName classe di Actionscript 3.0

Salve a tutti !


Abbiamo già visto a cosa potrebbe servire la classe getDefinitionByName di Actionscript 3.0 lavorando con dei suoni che vengono caricati dalla libreria con Flash CS3.


In questo tutorial Flash CS3 vedremo come utilizzare questa classe per recuperare una MovieClip di una libreria di un SWF caricato dall' SWF che lo carica.

Supponiamo di avere un SWF A che carica un SWF B.

Dall' SWF A vogliamo raggiungere una MovieClip nella libreria dell' SWF B che ha un linkage ( identificatore ) ad una classe che chiameremo Try.

Se fisicamente creo la classe Try, quindi un file Try.as, allora posso riferirmi direttamente a quella classe anche dall' SWF A.

Se non creo fisicamente la classe Try.as e la lascio creare a Flash, allora utilizzando la classe getDefinitionByName nell' SWF B posso raggiugere quella MovieClip e interagire con lei.


Creo un FLA che salvo con nome main.fla .
Creo un altro FLA che salvo con nome B.fla .
All' interno di B.fla creo un campo di testo statico e ci scrivo qualche cosa in modo da poterlo vedere quando caricheremo B.swf in main.swf .
Creo una MovieClip di qualsiasi forma in B.fla che lascio nella libreria con nome mc_try. Nel campo Class dell' identificatore di mc_try scrivo Try senza creare fisicamente la classe.
Ora, sempre in B.fla, scrivo questa funzione:
Code:
function getClass(str:String):MovieClip
{
	var c:Class = Class(getDefinitionByName(str));
	return new c();
};
Questa funzione, quando chiamata, vuole una stringa e restituisce una MovieClip.
Crea una nuova variabile di tipo Class, forzando appunto il tipo con Class.
Uitlizza quella stringa come parametro della classe getDefinitionByName e restituisce una nova MovieClip che non è altro che una istanza di mc_try.

Adesso carico B.swf in main.swf, utilizzando questo codice:
Code:
var request:URLRequest=new URLRequest('B.swf');
var loader:Loader=new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onComplete);
loader.load(request);

function onComplete(evt:Event):void
{
	addChild(loader);
	var clip:MovieClip=loader.content as MovieClip;
	var my_try:MovieClip=clip.getClass("Try"); 
	addChild(my_try);
}
Da notare queste righe:
var clip:MovieClip=loader.content as MovieClip;
var my_try:MovieClip=clip.getClass("Try");
addChild(my_try);
creo una variabile MovieClip che chiamo clip e gli assegno il valore del contenuto del loader forzato a tipo MovieClip.
creo un' altra variabile di tipo MovieClip e gli assegno quello che resituisce la funzione getClass che risiede in B.swf.
Il bello è che in questo modo posso attaccare mc_try che si trova nella libreria di B.swf anche allo stage di main.swf .






Se invece avessi fisicamente creato la classe Try.as, allora sarebbe bastato riferirmi a lei da main.fla in questo modo:
var my_try:Try=new Try();
addChild(my_try);

Alla prossima !
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is On
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump

Similar Threads

Thread Thread Starter Forum Replies Last Post
Actionscript chiama Javascript - classe ExternalInterface di Flash CS3 Flep Articoli e tutorials 5 18-10-08 19:49
Actionscript 3.0 e la classe Timer Flep Articoli e tutorials 7 27-07-08 14:22
Object Oriented Programming - lezione 2 - le proprietà di una classe Actionscript 3.0 Flep Programmazione Orientata agli Oggetti - tutorials 6 16-05-08 17:06
Classe ExternalInterface ulisse46 Actionscript 3.0 avanzato 0 04-04-08 02:17
Tagliare un' immagine con la classe Matrix di Actionscript 3.0 Flep Articoli e tutorials 0 20-09-07 10:00


All times are GMT. The time now is 12:22.


Powered by vBulletin versione 3.7.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0 RC4
Forum SiteMap


FlepStudio
by Filippo Lughi
P.IVA 03605860406