Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Flash/Flex > Flash > AS3
AS3 Questions relatives à la programmation ActionScript 3 (Cours AS3)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/06/2007, 11h30   #1
Nouveau Membre du Club
 
Inscription : novembre 2003
Messages : 73
Détails du profil
Informations forums :
Inscription : novembre 2003
Messages : 73
Points : 29
Points : 29
Par défaut Loader un swf externe

Bonjour a tous
Je suis un debutant en actionscript3 et j'essaye de loader un fichier .swf dans mon application flash d'origine.

voici mon code que je met sur un bouton:
Code :
1
2
3
4
5
6
7
 
var url:URLRequest = new URLRequest();
url.url = "monSwfExterne.swf";
trace("url : " + url.url);
var loader:Loader = new Loader();
loader.load(url);
addChild(loader);
dans la trace, je vois bien monSwfExterne.swf mais rien ne s'affiche et mmon numchildren augment a chaque fois que je clique sur le bouton.

Pourquoi on monSwfExterne.swf ne s'affiche pas ?

Merci d'avance de votre aide.

Shakta
Shakta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2007, 13h23   #2
Rédacteur/Modérateur
 
Avatar de beekeep
 
Homme
Développeur informatique
Inscription : octobre 2006
Messages : 1 606
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : octobre 2006
Messages : 1 606
Points : 2 234
Points : 2 234
Lut,

je connais pas le chargement avec as3 (ni l'as3 tout court) mais tu devrai attendre la fin du chargement pour faire le addChild genre comme ça :

Code :
1
2
3
4
5
6
7
8
9
var url:URLRequest = new URLRequest();
url.url = "monSwfExterne.swf";
trace("url : " + url.url);
var loader:Loader = new Loader();
loader.load(url);
loader.onLoad = function()
{
   addChild(loader);
}
beekeep est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2007, 13h36   #3
Membre confirmé
 
Avatar de Fares BELHAOUAS
 
Homme Fares Belhaouas
Développeur Flex & Java
Inscription : mars 2002
Messages : 182
Détails du profil
Informations personnelles :
Nom : Homme Fares Belhaouas
Âge : 36
Localisation : Algérie

Informations professionnelles :
Activité : Développeur Flex & Java
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mars 2002
Messages : 182
Points : 236
Points : 236
Envoyer un message via MSN à Fares BELHAOUAS Envoyer un message via Yahoo à Fares BELHAOUAS
Salem Shakta,

C'est normal que le trace t'affiche ce que tu veux car "url.url" est juste un string, donc si tu lui affecte la valuer comme ça
Code :
url.url = "monSwfExterne.swf";
c'est sur que ton trace va t'afficher la même valeur, mais est ce-que le Va retrouver le bon movie clip, essaye de faire un load avec une URL complète, genre, "http://monsite/monflash.swf" et vois si ça marche ou pas.

Bon courage
Fares BELHAOUAS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2007, 14h07   #4
Nouveau Membre du Club
 
Inscription : novembre 2003
Messages : 73
Détails du profil
Informations forums :
Inscription : novembre 2003
Messages : 73
Points : 29
Points : 29
C'est deja fais mais ca marche pas
Je suis un bloqué sur As3 la mais je recherche si je trouve ... ca va etre la fete


Merci de vos reponses et aux autre si vous avez une idee

Shakta
Shakta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2007, 15h45   #5
Membre confirmé
 
Avatar de Fares BELHAOUAS
 
Homme Fares Belhaouas
Développeur Flex & Java
Inscription : mars 2002
Messages : 182
Détails du profil
Informations personnelles :
Nom : Homme Fares Belhaouas
Âge : 36
Localisation : Algérie

Informations professionnelles :
Activité : Développeur Flex & Java
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mars 2002
Messages : 182
Points : 236
Points : 236
Envoyer un message via MSN à Fares BELHAOUAS Envoyer un message via Yahoo à Fares BELHAOUAS
Salam Shakta,

En fait je travaille avec Flex, et c'est AS3, je ne sais pas ce qu'il en est de ton Flash, mais le AddChild ne marche pas chez moi avec tous les exemple que j'ai trouvé sur le Net , j'ai des exception tout le temps.
Fares BELHAOUAS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2007, 16h55   #6
Nouveau Membre du Club
 
Inscription : novembre 2003
Messages : 73
Détails du profil
Informations forums :
Inscription : novembre 2003
Messages : 73
Points : 29
Points : 29
Hello Fares BELHAOUAS ,
merci pour ton suivi ca rassure de voir que ca vient pas de moi mais de l'as3.

Je ne connais pas flex mais j'ai vraiment ce probleme car je viens d'esssaye ce code juste pour charger une image et j'ai rien qui s'affiche .. la trace est bonne ca commence a m'echauffer

Code :
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
package{
	import flash.display.*;
	import flash.events.*;
	import flash.text.*;
	import flash.net.URLRequest;
 
	public class Chargeur extends Sprite{
	private var _statutLoader:TextField;
 
	public function Chargeur(pathImage:String){
		// créer le chargeur et l'ajouter dans la liste d'affichage.
		var chargeur:Loader = new Loader();
		addChild(chargeur);
 
		//Ajoute les gestionnaires d'événements pour contrôler la progression
		chargeur.contentLoaderInfo.addEventListener(Event.OPEN, gestionOpen);
			chargeur.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,gestionProgress);
			chargeur.contentLoaderInfo.addEventListener(Event.COMPLETE, gestionComplete);
 
		trace("image : "+pathImage);
		//Charge l'image externe
		chargeur.load(new URLRequest(pathImage));
	}
 
	private function gestionOpen(evt:Event):void{
		trace("téléchargement commencé");
		//Créer un simple préchargeur en mode texte et l'ajoute a la liste d'affichage
		_statutLoader = new TextField();
		addChild(_statutLoader);
		_statutLoader.text = "Chargement : 0%";
	}
	private function gestionProgress(evt:ProgressEvent):void{
		var pourcent:Number = evt.bytesLoaded / evt.bytesTotal *100;
		trace("Progression : " + pourcent + "%");
		//Mettre à jour le % de téléchargement pour informer l'utilisateur de la progression
		_statutLoader.text = "Chargement : "+pourcent+"%";
	}
	private function gestionComplete(evt:Event):void{
		trace("Téléchargement terminé");
		// Nettoyage. Le préchargeur n'est olus nécessaire.
		removeChild(_statutLoader);
		_statutLoader = null;			
	}
	}
}
Et j'ai vraimetn rien qui s'affiche Arrrggg

Si une personne peut tester et me dire si une image s'affiche je suis preneur.

Shakta
Shakta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/06/2007, 18h34   #7
Membre confirmé
 
Avatar de Fares BELHAOUAS
 
Homme Fares Belhaouas
Développeur Flex & Java
Inscription : mars 2002
Messages : 182
Détails du profil
Informations personnelles :
Nom : Homme Fares Belhaouas
Âge : 36
Localisation : Algérie

Informations professionnelles :
Activité : Développeur Flex & Java
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mars 2002
Messages : 182
Points : 236
Points : 236
Envoyer un message via MSN à Fares BELHAOUAS Envoyer un message via Yahoo à Fares BELHAOUAS
Salem

J'ai pu tester sour Flash CS3, j'ai mis deux calques, un pour les actions script ou j'ai mis ce code sur le premier frame, et le deuxième calque contient un button, avec nom d'instance button1

Citation:
addEventListener("click", onClick);
function onClick(e:Event):void {
trace(e.target.name);
var url:URLRequest = new URLRequest();
url.url = "monSwfExterne.swf";
trace("url : " + url.url);
var loader:Loader = new Loader();
loader.load(url);
addChild(loader);
}
Jai mis un fichier "monSwfExterne.swf" à coté etttttttt, ça marche, , donc essaye ton flash en local, et si ça marche et que ça ne marche pas sur le serveur, c'est que c'est un problème de sécurité (crossdomain).
__________________
Bon courage, @ ciao bonsoir!
--------------
Mettre le Tag est aussi une aide aux développeurs
Fares BELHAOUAS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/06/2007, 08h43   #8
Nouveau Membre du Club
 
Inscription : novembre 2003
Messages : 73
Détails du profil
Informations forums :
Inscription : novembre 2003
Messages : 73
Points : 29
Points : 29
bonjour Fares BELHAOUAS

BEn tu as de la chance.
Quand tu dis
Citation:
Jai mis un fichier "monSwfExterne.swf" à coté
tu veux bien dire que que ton monSwfExterne.swf est dans le mem dossier que ton swf où tu met le code.

Je viens d'essayer et pour moi il n'apparais toujours pas sur ma scene ... c'est a rien y comprendre ..

Comment peux ton specifier où le swf doit ce loader. J'ai essayer nue image et c la meme chose.. Y4a un truc que j'ai rate.

Merci pour ton aide

Shakta
Shakta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/06/2007, 08h50   #9
Membre Expert
 
Avatar de jean philippe
 
Inscription : septembre 2006
Messages : 2 062
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 2 062
Points : 2 075
Points : 2 075
Envoyer un message via MSN à jean philippe Envoyer un message via Skype™ à jean philippe
je vois pas ou tu peux bloquer Shakta ?
je te joins l'exemple qui fonctionne
__________________
mon Blog
jean philippe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/06/2007, 09h13   #10
Nouveau Membre du Club
 
Inscription : novembre 2003
Messages : 73
Détails du profil
Informations forums :
Inscription : novembre 2003
Messages : 73
Points : 29
Points : 29
Bon j'ai trouver ...
Je faisais un appel a ma class chargeru mais j'oubliais de mettre son instance dans le DisplayObject.

Merci encore de ton suivi Fares BELHAOUAS

Bonne journee

Shakta
Shakta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2007, 23h33   #11
Membre confirmé
 
Avatar de Fares BELHAOUAS
 
Homme Fares Belhaouas
Développeur Flex & Java
Inscription : mars 2002
Messages : 182
Détails du profil
Informations personnelles :
Nom : Homme Fares Belhaouas
Âge : 36
Localisation : Algérie

Informations professionnelles :
Activité : Développeur Flex & Java
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mars 2002
Messages : 182
Points : 236
Points : 236
Envoyer un message via MSN à Fares BELHAOUAS Envoyer un message via Yahoo à Fares BELHAOUAS
salem Shakta,

Bienvenue, je suis content que t'ai touvé
__________________
Bon courage, @ ciao bonsoir!
--------------
Mettre le Tag est aussi une aide aux développeurs
Fares BELHAOUAS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2008, 11h24   #12
Invité régulier
 
Inscription : août 2005
Messages : 19
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 19
Points : 8
Points : 8
Par défaut petites précisions svp

Bonjour à tous,

Si je puis me permettre…

Etant débutant, je cherche à décortiquer ce fonctionnement.

Le package, je le mets dans Chargeur.as ?

Le code
var url:URLRequest = new URLRequest();
……
addChild(loader);
je le mets dans loader.fla image 1 calque 1

je créé un texte dynamique d’occurence _statutLoader dans cette image 1 ?

quel est le code pour afficher le _statutLoader ?


mais peut-être n’est-ce pas ça du tout…

merci de votre éclairage.

jp
jpdmfr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/01/2010, 19h28   #13
Invité de passage
 
Inscription : août 2007
Messages : 2
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 2
Points : 1
Points : 1
salut,
j'ai aimé la solution proposé par notre amis dans le fichier archive.zip,
un preloader simple et efficace pour télécharger des fichiers swf externe.

mais le seul problème c'est qu'il n y a pas de preloader,
il n'y a que le script.

j'ai essayé d'adapté ce script a mon fla, pour télécharger un swf externe au lieu d'une frame interne, mais je n'ai pas réussi, est ce qu'il y a une solution pour résoudre ca ?

le code de l'archive zip :

Code :
1
2
3
4
5
6
var url:URLRequest = new URLRequest();
url.url = "header.swf";
trace("url : " + url.url);
var loader:Loader = new Loader();
loader.load(url);
addChild(loader);
et le code dans mon fla
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
onClipEvent (load)
{
    total = 100;
    base = 1;
}
onClipEvent (enterFrame)
{
    loaded = base = base + 5.000000E-001;
    percent = int(loaded / total * 100);
    text01.percentage = "" + percent + "%";
    text02.percentage = "" + percent + "%";
    text03.percentage = "" + percent + "%";
    gotoAndStop(percent);
    if (loaded == total)
    {
        _root.gotoAndPlay(2);
    } // end if
}
le but c'est d'utiliser mon preloader pour télécharger le fichier swf externe,
est ce possible ??

amicalement
killer boy
killer boy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/05/2010, 15h34   #14
Membre habitué
 
Inscription : avril 2009
Messages : 287
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 287
Points : 127
Points : 127
Juste une question toute bête,

il est possible de modifier les éléments du SWF Loader?

Par exemple, changer le Label des Buttons?

J'ai testé avec getChildAt, mais ça ne renvoi qu'un DisplayObject avec quoi je sais pas trop quoi faire à par des rotations...
dtcSearch est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h04.


 
 
 
 
Partenaires

Hébergement Web