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 02/08/2008, 01h06   #1
Invité de passage
 
Inscription : mai 2005
Messages : 2
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 2
Points : 0
Points : 0
Par défaut Faire disparaitre un objet

Bonjour à tous, je débute en AS3 et j'arrive à faire apparaitre à peu près ce que je veux sur ma scène mais je n'arrive pas à les enlever. Voici le code que je mets pour faire apparaitre un fichier externe swf en cliquant sur un bouton. Je voudrai qu'en cliquant sur un autre bouton il disparaisse. Merci de votre aide et de votre compréhension.

Code :
1
2
3
4
5
6
7
8
9
function allermusique(event:MouseEvent):void
	{
		var fichier:URLRequest = new URLRequest("magneto.swf");
		var chargement : Loader = new Loader();
		chargement.load(fichier);
		addChild(chargement);
		chargement.x = 250;
		chargement.y = 200;
	}
dark64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2008, 10h44   #2
Membre du Club
 
Inscription : décembre 2007
Messages : 60
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 60
Points : 51
Points : 51
Bonjour,
il faut à mon avis utiliser une des méthodes suivantes du conteneur de ton objet (celui que tu souhaite enlever) :
Code :
removeChild(ton_element)
ou si tu connait l'index du dit objet dans la pile d'affichage
Code :
removeChildAt(index_element)
...
m.klaury est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2008, 14h22   #3
Invité de passage
 
Inscription : mai 2005
Messages : 2
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 2
Points : 0
Points : 0
Merci pour cette réponse, le problème, c'est que quand je mets : "removeChild(chargement);" dans une autre fonction qui est appelé par mon bouton j'ai le message d'erreur suivant : "Accès à la propriété "chargement" non définie."

Je pense que je ne mets pas au bon endroit le removeChild...oui...mais ou le mettre car je veux qu'il disparaisse des que j'appelle une autre fonction ...

Merci de votre patience.
dark64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/08/2008, 18h08   #4
Membre du Club
 
Inscription : décembre 2007
Messages : 60
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 60
Points : 51
Points : 51
...On admet que ton élément chargement est dans la liste d'affichage. Donc pour le faire disparaitre, la méthode
Code :
removeChild(chargement);
doit être appelée dans le corps du conteneur du dit élément sinon, il faut garder une référence au dit conteneur dans la portée de la fonction qui appelle la méthode et donc dans ce cas effectuer :

Code :
ref_conteneur.remove(chargement);


............
m.klaury est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/08/2008, 18h42   #5
Candidat au titre de Membre du Club
 
Inscription : novembre 2007
Messages : 26
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 26
Points : 14
Points : 14
Salut,
c'est parce que ta variable est déclarée à l'intérieur d'une fonction, donc elle ne peut pas être atteinte depuis une autre fonction !

en gros ça fait ça :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
var chargement : Loader;
 
var btnAller.addEventListener(MouseEvent.CLICK, allermusique);
var btnStop.addEventListener(MouseEvent.CLICK, stopmusique);
 
function allermusique(event:MouseEvent):void
	{
		var fichier:URLRequest = new URLRequest("magneto.swf");
		chargement  = new Loader();
		chargement.load(fichier);
		addChild(chargement);
		chargement.x = 250;
		chargement.y = 200;
 
}
 
function stopmusique(event:MouseEvent):void
	{
		removeChild(chargement);
}
ions est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h40.


 
 
 
 
Partenaires

Hébergement Web