Flash CS3 - Flash CS4

Free tutorials and scripts for all.
Actionscript 3.0

Caricamento swf esterni con più di una document class

This is a discussion on Caricamento swf esterni con più di una document class within the Articoli e tutorials forums, part of the Flash CS3 e Actionscript 3.0 category; Abbiamo visto come dichiarare la Document Class al FLA . Abbiamo studiato a fondo cosa è la document class . Abbiamo visto ...


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
  3 links from elsewhere to this Post. Click to view. #1 (permalink)  
Old 21-09-07, 09:43
Administrator
 
Join Date: Jul 2007
Location: Cesena
Posts: 4,486
Rep Power: 6
Flep is on a distinguished road
Caricamento swf esterni con più di una document class

Abbiamo visto come dichiarare la Document Class al FLA.

Abbiamo studiato a fondo cosa è la document class.

Abbiamo visto come interagiscono la timeline e la Document Class.
E' giunto il momento di affrontare il problema di una eventuale doppia Document Class. L' idea di scrivere questo articolo mi è venuta rispondendo ad una discussione sul forum Flash CS3 di FlepStudio, nella quale un utentechiedeva spiegazione su come risolvere il problema di caricare un SWF esterno che a sua volta ha una Document Class. In questo caso, ci ritroveremmo con il nostro FLA principale e la sua Document Class che carica una altro SWF il cui FLA a sua volta ha una Document Class. Siccome, per la DC dell' SWF caricato cambia la root, tutte le path/percorsi utilizzati nella sua DC rusulterebbero impropri per cui avremmo una bella lista di errori.

Vediamo come risolvere questa tragedia...

In un' applicazione Object Oriented la classe principale è una sola, in Flash è appunto stata nominata come Document Class mentre in Java rimane la Main Class.
Non possiamo avere 2 Document Class in un' applicazione Flash. Anche perchè a rigor di logica è una classe sola che fa partire tutta l'applicazione invocando un metodo cha a sua volta istanzierà le altri classi o invocherà metodi e proprietà delle altre classi.

Detto questo, non possiamo caricare un SWF esterno ( con Document Class ) all'interno dell' SWF principale ricordandoci che il FLA principale della nostra applicazione non è altro che unaistanza della sua Document Class.
Per cui, bisogna sempre lavorare da una Document Class e tramite lei accedere all' SWF caricato. In questo tutorial vedremo che utilizzando la Document Class, ci mettiamo in una situazione privilegiata e cioè da ogni punto della nostra applicazione in cui noi vogliamo recuperare o assegnare o chiamare del codice possiamo farlo tranquillamente perchè c'è come un filo conduttore che lega ogni classe dell' applicazione stessa.

I files che utilizzo in questo tutorial:

main.fla ( il FLA principale dell'applicazione )

Main.as ( la Document Class associata a main.fla )

Loading.as ( una classe istanziata dalla Document Class che caricherà un SWF esterno )

my_swf.fla ( il FLA che crea l' SWF da caricare )

my_swf.swf ( l' SWF esterno che viene caricato in main.swf )

Main2.as ( la classe che interagisce completamente sia con l' SWF caricato che con quello principale, un po come se fosse la Document Class di my_swf.fla )

main.fla

creo in libreria una MovieClip con nome ' mc_prova ' e la istanzio sullo Stage assegnandoli il nome istanza ' prova_mc '.
assegno a questo FLA la Document Class Main.as

my_swf.fla

creo in libreria una MovieClip con nome ' mc_test ' e la istanzio sullo Stage assegnandoli il nome istanza ' test_mc '. Poi gli creo una interpolazione di forma della durata che voglio e sul primo keyframe aggiungo uno stop(); ( questo perchè vedremo come chiamare il play() di questa MovieClip dalla classe Main2 una volta che l' SWF è stato caricato ).

Main.as

la Document Class di tutta l' applicazione, implementata in questo modo:
Code:
package
{
	import flash.display.MovieClip;
	
	public class Main extends MovieClip
	{
		private var loading:Loading;
		
		public var trovami:Number=10;
		
		public function Main()
		{
			stage.frameRate=31;
			
			loadSWF();
		}
		
		private function loadSWF():void
		{
			loading=new Loading(this);
		}
	}
}
Proprietà
una istanza della classe Loading.as che si prenderà il compito di caricare l' SWF esterno
private var loading:Loading;
una variabile numerica con valore 10, ci servirà per vedere comepoter recuperare quel valore da qualsiasi punto della nostra applicazione. Con la frase ' qualsiasi punto ' intendo dire che questa variabile è recuperabile da ogni file dell' applicazione se l' applicazione stessa segue i canoni di una ' buona ed educata ' Object Oriented Programming.
public var trovami:Number=10;

Metodi

funzione costruttrice:
public function Main()
{
imposto una velocità di frame rate
stage.frameRate=31;
chiamo il metodo loadSWF
loadSWF();
}

loadSWF();
istanzio la classe Loading e gli passo il valore della main root, della root del fla principale ( main.fla )
loading=new Loading(this);

Loading.as

la classe che caricherà l' SWF esterno ( my_swf.swf )
Code:
package 
{
	import flash.display.MovieClip;
	import flash.display.SimpleButton;
	import flash.text.TextField;
	import flash.display.Loader;
	import flash.events.*;
	import flash.net.URLRequest;

	public class Loading extends MovieClip 
	{
		private var _fla:MovieClip;
		
		private var url:String;
		
		private var loader:Loader;

		public function Loading(fla:MovieClip) 
		{
			_fla=fla;
			init();
		}
		private function init():void 
		{
			url='my_swf.swf';
			var request:URLRequest=new URLRequest(url);
			loader=new Loader();
			initListeners(loader.contentLoaderInfo);
			loader.load(request);
		}
		private function initListeners(dispatcher:IEventDispatcher):void 
		{
			dispatcher.addEventListener(Event.COMPLETE,completato);
		}
		private function completato(event:Event):void 
		{
			_fla.addChild(loader);
			loader.y=_fla.prova_mc.y+_fla.prova_mc.height+10;
			loader.y=10;
			var main2:Main2;
			main2=new Main2(_fla,MovieClip(loader.content));
		}
	}
}
Proprietà
una variabile MovieClip a cui assegnerò il valore della root che mi passa Main.as ( la Document Class )
private var _fla:MovieClip;
una variabile stringa che conterrà l' url dell' SWF esterno da caricare ( my_swf.swf )
private var url:String;
una istanza della classe Loader per caricare my_swf.swf
private var loader:Loader;

Metodi
funzione costruttrice:
public function Loading(fla:MovieClip)
{
assegno alla variabile _fla la root che mi passa Main.as ( la Document Class )
_fla=fla;
chiamo il metodo init
init();
}

init();
assegno alla variabile url, l'url dell' SWF da caricare
url='my_swf.swf';
faccio richiesta url a Flash
var request:URLRequest=new URLRequest(url);
istanzio il Loader
loader=new Loader();
chiamo il metodo initListeners
initListeners(loader.contentLoaderInfo);
carico l' SWF
loader.load(request);

initListeners();
aggiungo un listener in ascolto dell' evento COMPLETE in mododa intercettare quando l' SWF è stato interamente caricato. Quando lo sarà, verrà chiamato il metodo ' completato '
dispatcher.addEventListener(Event.COMPLETE,complet ato);

completato();
questo è il punto cruciale di questo tutorial. Faccio un addChild di loader in modo che sia visibile
_fla.addChild(loader);
posiziono il loader
loader.y=10;
istanzio la classe Main2 e gli passo come primo parametro la root che a sua volta mi era stata passata dalla Document Class e come secondo parametro il contenuto di loader ( l' SWF caricato )
var main2:Main2;
main2=new Main2(_fla,MovieClip(loader.content));
PS: nella riga sopra utilizzo un'altra forma di un trucchetto che abbiamo già visto nell' articolo Trucco del giorno - Loader.content

Main2.as

Code:
package
{
	import flash.display.MovieClip;
	
	public class Main2 extends MovieClip
	{
		private var _fla:MovieClip;
		private var mia_root:MovieClip;
		
		public function Main2(fla:MovieClip,m:MovieClip)
		{
			_fla=fla;
			mia_root=m;
			callClip();
		}
		
		private function callClip():void
		{
			mia_root.test_mc.play();
			trace(_fla.prova_mc.name);
			trace(_fla.trovami);
		}
	}
}
Proprietà
una variabile di tipo MovieClipa cui assegnerò il valore della root che mi è passata da Loading.as che a sua volta l' ha ricevuta dalla Document Class ( Main.as )
private var _fla:MovieClip;
una variabile MovieClip a cui assegno il valore della root dell'SWF caricato che mi passa la classe Loading.as, che se ricordate era loader.content. In questo modo possorifrirmi all' SWF principale oppure all' SWF caricato quando e come voglio.
private var mia_root:MovieClip;

Metodi
funzione costrutrice
public function Main2(fla:MovieClip,m:MovieClip)
{
assegno alla varibile _fla ilvalore della root principale dell' applicazione
_fla=fla;
assegno alla variabile mia_root, il valore della root dell' SWF caricato
mia_root=m;
chiamo il metodo callClip
callClip();
}

callClip();
eseguo un play su test_mc che se ben ricordate si trova in my_sw.fla, quindi l' SWF caricato ( da notare il percorso: mia_root.test_mc )
mia_root.test_mc.play();
faccio un trace della propietà name di prova_mc, la MovieClip nell' SWF principale ( da notare il percorso: _fla.prova_mc )
trace(_fla.prova_mc.name);
recupero inoltre il valore di una proprietà dellaDocument Class ( la variabile ' trovami ' )
trace(_fla.trovami);

In sostanza, in questo momento abbiamo tutto sotto estremamente sotto controllo.
Se volessi agire sull' SWF principale, potrei farlo sia dalla Document Class, dalla classe Loading.as e da Main2.as .
Se volessi inoltre agire sull' SWF caricato, potrei farlo da Loading.as come da Main2.as .

Allego i files sorgente:
Attached Files
File Type: zip doppiaDocumentClass.zip (14.2 KB, 87 views)

__________________

 


I recommend: Essential Actionscript 3.0

- Non rispondo ai messaggi privati con domande tecniche. Apri una discussione sul forum !
- I do not reply technicians pvt messages. Open a thread !

Last edited by Flep; 05-06-08 at 00:31..
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

  #2 (permalink)  
Old 02-10-07, 18:09
Member
 
Join Date: Sep 2007
Posts: 71
Rep Power: 2
Vlizzard is on a distinguished road
filmato come sfondo

salve,purtroppo sono un neofita in actioscript e flash e mi scuso se la domanda è banale ma ho seguito lo script ,funziona però ricevo questo messaggio

ReferenceError: Error #1069: Property prova_mc not found on Main and there is no default value.
at Loading/::completato()

inoltre vorrei che il filmato caricato in prova_mc fosse lo sfondo ed invece copre gli altri ogetti....

cosa posso fare?

grazie per l'aiuto
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

  #3 (permalink)  
Old 02-10-07, 18:47
Administrator
 
Join Date: Jul 2007
Location: Cesena
Posts: 4,486
Rep Power: 6
Flep is on a distinguished road
Ciao,
partiamo col primo problema.
Quell' errore mi fa pensare che sullo stage non hai una MovieClip con nome prova_mc
__________________

 


I recommend: Essential Actionscript 3.0

- Non rispondo ai messaggi privati con domande tecniche. Apri una discussione sul forum !
- I do not reply technicians pvt messages. Open a thread !
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

  #4 (permalink)  
Old 02-10-07, 20:05
Member
 
Join Date: Sep 2007
Posts: 71
Rep Power: 2
Vlizzard is on a distinguished road
ok...c'era ma poi ho notato che nn aveva nome istanza allora ho cancellato
e ho creato un simbolo Clipfilmato e come nome istanza o messo prova_mc e l'ho messo dentro ad un frame nella scena principale.

adesso l'errore è:

TypeError: Error #1034: Type Coercion failed: cannot convert flash.display::AVM1Movie@3906f31 to flash.display.MovieClip.
at Loading/::completato()
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

  #5 (permalink)  
Old 03-10-07, 07:06
Administrator
 
Join Date: Jul 2007
Location: Cesena
Posts: 4,486
Rep Power: 6
Flep is on a distinguished road
Dentro ad un frame della scena principale ?
Quanti frames hai ?
__________________

 


I recommend: Essential Actionscript 3.0

- Non rispondo ai messaggi privati con domande tecniche. Apri una discussione sul forum !
- I do not reply technicians pvt messages. Open a thread !
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

Flash Multi Gallery
  #6 (permalink)  
Old 03-10-07, 09:11
Member
 
Join Date: Sep 2007
Posts: 71
Rep Power: 2
Vlizzard is on a distinguished road
Allora forse è meglio spiegare il tipo di test che sto provando
cerco di inserire uno sfondo animato nel vostro Guestbook cs3
Seguendo le istruzioni di come caricare un SWF esterno ho modificato il Main del Guestbook e ha aggiunto il
Loading.as e Main2.as.
L'istanza prova_mc è stata modificata in bg_mc nel Loading.as, ecco il main:

Code:
package
{
import flash.display.MovieClip;
import flash.text.TextField;
import flash.geom.Rectangle;
import flash.utils.Timer;
import fl.controls.SliderDirection;
import flash.events.Event;
import flash.events.MouseEvent;
import fl.events.SliderEvent;
import flash.events.TimerEvent;

public class Main extends MovieClip
{
private var file_xml:LoadingXML;

private var mess_container_mc:MovieClip;
private var mask_mc:MovieClip;

private var timer:Timer;

private var formStartX:Number;
private var formStartY:Number;

private var loading:Loading; /* Aggiunto come da tutorial*/

public var trovami:Number=10; /* Aggiunto come da tutorial*/

public function Main()
{
init();
createContainer();
loadXML(); 
loadSWF(); /* Aggiunto come da tutorial*/
}

private function init():void
{
stage.frameRate=31;

info_mc.x=stage.stageWidth/2;
info_mc.y=stage.stageHeight/2;

bg_mc.x=0;
bg_mc.y=0;
bg_mc.width=stage.stageWidth;
bg_mc.height=stage.stageHeight;
bg_mc.alpha=0;

form_mc.alpha=0;
box_mc.alpha=0;

slide_mc.visible=false;
}

private function createContainer():void
{
mess_container_mc=new MovieClip();
mess_container_mc.alpha=0;
addChild(mess_container_mc);
}

private function loadXML():void
{
file_xml=new LoadingXML(this);
}

private function loadSWF():void /* Aggiunto come da tutorial*/
{
loading=new Loading(this);
}

public function displayGuestBook():void
{
removeLoadingInfo();
createClipsForEachMessage();
}

private function removeLoadingInfo():void
{
info_mc.stop();
removeChild(info_mc);
}

private function createClipsForEachMessage():void
{
for(var i:int=0;i0)
Store.clips_array[i].y=Store.clips_array[i-1].y+Store.clips_array[i-1].height+10;
}
fadeIn(mess_container_mc);
}

private function createMask():void
{
mask_mc=new MovieClip();
addChild(mask_mc);
mask_mc.graphics.beginFill(0xFF6600,1);
mask_mc.graphics.drawRect(0,0,Store.clips_array[0].width+10,form_mc.height+box_mc.height+15);
mask_mc.x=Store.clips_array[0].x-5;
mask_mc.y=Store.clips_array[0].y-5;

mess_container_mc.mask=mask_mc;
}

private function initForm():void
{
form_mc.scope_mc.mouseChildren=false;

form_mc.x=Store.clips_array[0].x+Store.clips_array[0].width+20+form_mc.width/2;
form_mc.y=Store.clips_array[0].y+form_mc.height/2;
formStartX=form_mc.x;
formStartY=form_mc.y-20;
fadeIn(form_mc);

swapChildren(mess_container_mc,form_mc);

form_mc.message_txt.background=true;
form_mc.message_txt.backgroundColor=0xFFFFFF;
form_mc.scope_mc.buttonMode=true;
form_mc.scope_mc.addEventListener(MouseEvent.MOUSE_DOWN,setDown);
form_mc.scope_mc.addEventListener(MouseEvent.MOUSE_UP,setUp);
}

private function setDown(evt:MouseEvent):void
{
form_mc.removeEventListener(Event.ENTER_FRAME,moveFormBack);
var rect:Rectangle=new Rectangle(evt.currentTarget.parent.width/2,evt.currentTarget.parent.height/2,
stage.stageWidth-evt.currentTarget.parent.width,stage.stageHeight-evt.currentTarget.parent.height);
evt.currentTarget.parent.startDrag(false,rect);
}

private function setUp(evt:MouseEvent):void
{
evt.currentTarget.parent.stopDrag();
var xx:Number=box_mc.x-form_mc.x;
var yy:Number=box_mc.y-form_mc.y;
var distance:Number=Math.sqrt(xx*xx+yy*yy);
if(distance<100)
suckTheForm();
else
notCentered();
}

private function initBox():void
{
box_mc.x=form_mc.x;
box_mc.y=form_mc.y+form_mc.height+10;
fadeIn(box_mc);
}

private function initSlide():void
{
slide_mc.width=mask_mc.height;
slide_mc.direction=SliderDirection.VERTICAL;
slide_mc.move(Store.clips_array[0].x-20,Store.clips_array[0].y+mask_mc.height);
slide_mc.minimum=mess_container_mc.x;
slide_mc.maximum=mess_container_mc.height-mask_mc.height;
slide_mc.visible=true;
slide_mc.value=slide_mc.minimum;
slide_mc.rotation*=-1;

slide_mc.addEventListener(SliderEvent.THUMB_PRESS,pressing);
slide_mc.addEventListener(SliderEvent.THUMB_RELEASE,stopTheLogic);
slide_mc.addEventListener(SliderEvent.CHANGE,pressing);
}

private function pressing(evt:SliderEvent):void
{
evt.target.addEventListener(Event.ENTER_FRAME,go);
}

private function go(evt:Event):void
{
mess_container_mc.y=-evt.target.value;
}

private function stopTheLogic(evt:SliderEvent):void
{
evt.target.removeEventListener(Event.ENTER_FRAME,go);
}

private function fadeIn(m:MovieClip):void
{
m.addEventListener(Event.ENTER_FRAME,go);
function go(evt:Event):void
{
var da:Number=1-evt.currentTarget.alpha;
var aa:Number=da*.2;
evt.currentTarget.alpha+=aa;

if(Math.abs(da)<=.1)
{
evt.currentTarget.alpha=1;
evt.currentTarget.removeEventListener(Event.ENTER_FRAME,go);
}
}
}

private function suckTheForm():void
{
var arr:int=0;
var arr2:Number=box_mc.x;
var arr3:Number=box_mc.y;
var arr4:int=0;
form_mc.addEventListener(Event.ENTER_FRAME,suck);
function suck(evt:Event):void
{
var dx:Number=arr-evt.currentTarget.scaleX;
var ax:Number=dx*.2;
evt.currentTarget.scaleX+=ax;
evt.currentTarget.scaleY+=ax;

var dX:Number=arr2-evt.currentTarget.x;
var aX:Number=dX*.2;
evt.currentTarget.x+=aX;

var dY:Number=arr3-evt.currentTarget.y;
var aY:Number=dY*.2;
evt.currentTarget.y+=aY;

var da:Number=arr4-evt.currentTarget.alpha;
var aa:Number=da*.2;
evt.currentTarget.alpha+=aa;

if(Math.abs(dx)<=.1)
{
evt.currentTarget.scaleX=arr;
evt.currentTarget.scaleY=arr;
evt.currentTarget.removeEventListener(Event.ENTER_FRAME,suck);
checkTheForm();
}
}
}

private function checkTheForm():void
{
if(EmailChecker.checkEMail(form_mc.email_txt.text))
{
switch(form_mc.name_txt.text)
{
case '':
notValid('name');
break;

default:
switch(form_mc.message_txt.text)
{
case '':
notValid('message');
break;

default:
sendMessage();
break;
}
break;
}

}
else
notValid('mail');
}

private function notValid(s:String):void
{
var arr:int=1;
var arr2:Number=formStartX;
var arr3:Number=formStartY;
var arr4:int=1;
form_mc.addEventListener(Event.ENTER_FRAME,suck);
function suck(evt:Event):void
{
var dx:Number=arr-evt.currentTarget.scaleX;
var ax:Number=dx*.2;
evt.currentTarget.scaleX+=ax;
evt.currentTarget.scaleY+=ax;

var dX:Number=arr2-evt.currentTarget.x;
var aX:Number=dX*.2;
evt.currentTarget.x+=aX;

var dY:Number=arr3-evt.currentTarget.y;
var aY:Number=dY*.2;
evt.currentTarget.y+=aY;

var da:Number=arr4-evt.currentTarget.alpha;
var aa:Number=da*.2;
evt.currentTarget.alpha+=aa;

if(Math.abs(dx)<=.1)
{
evt.currentTarget.scaleX=arr;
evt.currentTarget.scaleY=arr;
evt.currentTarget.removeEventListener(Event.ENTER_FRAME,suck);

switch(s)
{
case 'mail':
evt.currentTarget.scope_mc.output_txt.text=' E-MAIL NON VALIDA ';
resetOutput();
break;

case 'name':
evt.currentTarget.scope_mc.output_txt.text=' NOME NON VALIDO ';
resetOutput();
break;

case 'message':
evt.currentTarget.scope_mc.output_txt.text=' MASSAGGIO NON VALIDO ';
resetOutput();
break;
}
}
}
}

private function notCentered():void
{
form_mc.addEventListener(Event.ENTER_FRAME,moveFormBack);
}

private function moveFormBack(evt:Event):void
{
var arr2:Number=formStartX;
var arr3:Number=formStartY+10;
var dX:Number=arr2-evt.currentTarget.x;
var aX:Number=dX*.3;
evt.currentTarget.x+=aX;

var dY:Number=arr3-evt.currentTarget.y;
var aY:Number=dY*.3;
evt.currentTarget.y+=aY;

if(Math.abs(dX)<=.3)
{
evt.currentTarget.x=arr2;
evt.currentTarget.y=arr3;
evt.currentTarget.removeEventListener(Event.ENTER_FRAME,moveFormBack);
}
}

private function resetOutput():void
{
timer=new Timer(1500,1);
timer.addEventListener(TimerEvent.TIMER,reset);
timer.start();
function reset(evt:TimerEvent):void
{
form_mc.scope_mc.output_txt.text=' ';
}
}

private function sendMessage():void
{
var send_the_message:SendTheMessage=new SendTheMessage(form_mc.name_txt.text,form_mc.email_txt.text,form_mc.message_txt.text,this);
}
}
}
 


Questo è il Loading.as
Code:
 
package 
{
import flash.display.MovieClip;
import flash.display.SimpleButton;
import flash.text.TextField;
import flash.display.Loader;
import flash.events.*;
import flash.net.URLRequest;
public class Loading extends MovieClip 
{
private var _fla:MovieClip;

private var url:String;

private var loader:Loader;
public function Loading(fla:MovieClip) 
{
_fla=fla;
init();
}
private function init():void 
{
url='Test.swf';
var request:URLRequest=new URLRequest(url);
loader=new Loader();
initListeners(loader.contentLoaderInfo);
loader.load(request);
}
private function initListeners(dispatcher:IEventDispatcher):void 
{
dispatcher.addEventListener(Event.COMPLETE,completato);
}
private function completato(event:Event):void 
{
_fla.addChild(loader);
loader.x=10;
loader.y=10;
loader.width=750;
loader.height=550;
loader.y=_fla.bg_mc.y+_fla.bg_mc.height+10; /* ho modificato prova_mc con un Clipfimato già esistente nel fla del guestbook - nome mc_bg che viene caricato nel fotogramma bg*/
var main2:Main2;
main2=new Main2(_fla,MovieClip(loader.content));
}
}
}
 

Il filmato funziona anche se lo sfondo copre le form ed inoltre mi ritorna il messaggio d'errore riportato nel post precedente.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

  #7 (permalink)  
Old 03-10-07, 10:30
Administrator
 
Join Date: Jul 2007
Location: Cesena
Posts: 4,486
Rep Power: 6
Flep is on a distinguished road
Se copre le form, devi utilizzare swapChildren per riposizionare ai giusti livelli tute le MovieClip.

Circa l' errore è difficile da dirsi... hai per caso implementato un ciclo for ?
__________________

 


I recommend: Essential Actionscript 3.0

- Non rispondo ai messaggi privati con domande tecniche. Apri una discussione sul forum !
- I do not reply technicians pvt messages. Open a thread !
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

  #8 (permalink)  
Old 03-10-07, 12:10
Member
 
Join Date: Sep 2007
Posts: 71
Rep Power: 2
Vlizzard is on a distinguished road
No non ho toccato codice, oltre a le modifiche elencate...

adesso mi vado a studiare il swapChildren nella guida...ma l'errore persiste

Code:
TypeError: Error #1034: Type Coercion failed: cannot convert flash.display::AVM1Movie@391cf31 to flash.display.MovieClip.
 at Loading/::completato()
Ma Esiste un'altro modo di inserire uno sfondo animato al guestbook?
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

  #9 (permalink)  
Old 03-10-07, 12:18
Administrator
 
Join Date: Jul 2007
Location: Cesena
Posts: 4,486
Rep Power: 6
Flep is on a distinguished road
Per inserire uno sfondo, hai provato a creare un nuovo livello nel FLA ?
__________________

 


I recommend: Essential Actionscript 3.0

- Non rispondo ai messaggi privati con domande tecniche. Apri una discussione sul forum !
- I do not reply technicians pvt messages. Open a thread !
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

  #10 (permalink)  
Old 03-10-07, 12:27
Member
 
Join Date: Sep 2007
Posts: 71
Rep Power: 2
Vlizzard is on a distinguished road
cioè...un layer?
scusa ma adesso la confusione è totale....per me! (devo apprendere i termini)

io volevo caricare un animzione fatta cn flash 8 com sfondo...ma se l inserisco direttamente nel Clipfilmato bg_mc che ha lo sfondo va in errore!
Allora ho pensato di farlo caricare come swf e il resto lo sai.

Cmq ti ringrazio flep per l'aiuto

continuo a consultare la guida
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
Caricare SWF esterni con più di una document Class mcpll Actionscript 3.0 avanzato 31 26-11-08 14:38
AS3 caricamento di swf esterni digitalfx Actionscript 3.0 base 1 26-05-08 15:33
Document class ariel Flash CS3 generale 2 16-03-08 01:37
How to call another class from the Document Class with Flash CS3 Flep Tutorials 0 09-10-07 19:50
preloader e caricamento swf esterni con più document class kff Actionscript 3.0 avanzato 41 20-08-07 14:37


All times are GMT. The time now is 11:36.


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