Bonjour,

Récent migrant vers AS3, je réussis à utiliser la classe .Loader pour afficher des swf externes... J'in un swf de départ vide qui charge le premier *.swf, et depuis celui-ci, je voudrais pouvoir le remplacer par un autre, au clic... Le clic c'est que mon code fait se superposer les *swf les uns par-desus les autres sans que le précédent soit effacé. Bref... Que faire?

index.fla:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
/*var mc=_root.createEmptyMovieClip('container');
loadMovie('stage_3.swf',container);*/
 
// import des classes nécessaires :
// nous importons les classes necessaires :
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.net.URLLoaderDataFormat;
import flash.display.Loader;
import flash.display.LoaderInfo;
import flash.events.Event;
import flash.events.ProgressEvent;
import flash.events.IOErrorEvent;
 
// nous déclarons un objet URLLoader :
var container:URLLoader = new URLLoader ();
 
// nous créons un objet URLRequest qui contient l'url du fichier :
var adresse:URLRequest = new URLRequest ("stage_3.swf");
 
// nous lançons le chargement du fichier, en indiquant l'adresse de celui ci par l'objet URLRequest :
container.dataFormat = URLLoaderDataFormat.BINARY;
container.load(adresse);
 
// définition des événements de l'objet container
container.addEventListener(Event.COMPLETE, finDuChargement);
container.addEventListener(ProgressEvent.PROGRESS, avancement);
container.addEventListener(IOErrorEvent.IO_ERROR, indiquerErreur);
 
// définition de la fonction éxecutée par l'événement COMPLETE :
// ( déclenchée lorsque le chargement se termine )
function finDuChargement ( event:Event ) {
	var contenu = event.target.data;
	creerLoader (contenu);
}
 
// fonction déclenchée à la fin du chargement URLLoader, qui ajoute un Loader sur la scene :
function creerLoader ( datas ) {
		var container:Loader = new Loader();
		container.loadBytes(datas);
		stage.addChild(container);
} 
 
// définition de la fonction éxecutée par l'événement PROGRESS :
// déclenchée à chaque avancement du chargement )
function avancement( event:Event) {
	trace(event.target.bytesLoaded+" chargés sur "+event.target.bytesTotal);
}
 
// fonction indiquant si une erreur de chargmement survient :
function indiquerErreur( event:Event ) {
	trace(event);
}
stage_3.fla:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
// import des classes nécessaires :
// nous importons les classes necessaires :
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.net.URLLoaderDataFormat;
import flash.display.Loader;
import flash.display.LoaderInfo;
import flash.events.Event;
import flash.events.ProgressEvent;
import flash.events.IOErrorEvent;
 
// nous déclarons un objet URLLoader :
var container:URLLoader = new URLLoader ();
 
// nous créons un objet URLRequest qui contient l'url du fichier :
//var adresse:URLRequest = new URLRequest ("image.jpg");
 
// nous lançons le chargement du fichier, en indiquant l'adresse de celui ci par l'objet URLRequest :
container.dataFormat = URLLoaderDataFormat.BINARY;
//container.load(adresse);
 
// définition des événements de l'objet container
container.addEventListener(Event.COMPLETE, finDuChargement);
container.addEventListener(ProgressEvent.PROGRESS, avancement);
container.addEventListener(IOErrorEvent.IO_ERROR, indiquerErreur);
 
// définition de la fonction éxecutée par l'événement COMPLETE :
// ( déclenchée lorsque le chargement se termine )
function finDuChargement ( event:Event ) {
	var contenu = event.target.data;
	creerLoader (contenu);
}
 
// fonction déclenchée à la fin du chargement URLLoader, qui ajoute un Loader sur la scene :
function creerLoader ( datas ) {
		var container:Loader = new Loader();
		container.loadBytes(datas);
		stage.addChild(container);
} 
 
// définition de la fonction éxecutée par l'événement PROGRESS :
// déclenchée à chaque avancement du chargement )
function avancement( event:Event) {
	trace(event.target.bytesLoaded+" chargés sur "+event.target.bytesTotal);
}
 
// fonction indiquant si une erreur de chargmement survient :
function indiquerErreur( event:Event ) {
	trace(event);
}
 
fleche.addEventListener(MouseEvent.CLICK,onClick);
 
function onClick(e:MouseEvent):void {
	var adresse:URLRequest = new URLRequest ("couloir.swf");
	//container.removechild();
	container.load(adresse);
}
 
/*fleche.onRelease=function(){
    container.load("couloir.swf");
}*/
 
/*bureau_1.onRelease=function(){
	loadMovie("piece_1.swf",container);
}
 
bureau_2.onRelease=function(){
	loadMovie("piece_2.swf",container);
}*/