Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Flash/Flex > Flash > AS1/AS2
AS1/AS2 Questions relatives à la programmation ActionScript 1 et 2 (Cours AS2)
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 07/06/2008, 08h46   #1
Candidat au titre de Membre du Club
 
Inscription : mars 2008
Messages : 24
Détails du profil
Informations personnelles :
Âge : 53

Informations forums :
Inscription : mars 2008
Messages : 24
Points : 13
Points : 13
Par défaut swf maitre qui revient sur le container !?

.




Bonjour a tous,

voila, j'ai un probleme et je ne vois pas du tout ce qu;il faut faire, si quelqu'un d'avance pourrait eventuellement me donner un coup de pouce, ca serait tres sympa.


J'ai un swf maitre dans lequel j'ai mis un conteneur qui s'appelle mc_container.
ce conteneur doit etre dessous de certains clips et au dessus de certains clips. (je ne peux pas pour diverses raisons dans le cas present et c'est bien dommage utiliser le loadmovieNum...).

dans ce swf maitre le menu. chaque bouton du menu appelle un swf externe dans le conteneur par :

on (press) {
_parent.mc_container.unloadMovie();
}
on (release){
_parent.mc_container.loadMovie ("clip1.swf");
}


si je ne mets pas de unloadmovie, le clip 1 va s'afficher, le clip 2 va s'afficher, mais si je retourne au clip 1, il va passer en dessous du clip 2, donc l'idee a chaque fois de decharger le contenu du conteneur pour laisser place au nouveau clip charge a chaque fois....


Le probleme est que :
a chaque fois que je clique sur une option du menu et que j'appelle un nouveau clip dans le conteneur, celui-ci retourne directement sur le fichier maitre et affiche son contenu avant d'afficher le niveau clip qui contient bien sur un preloader.


Je ne sais pas du tout comment je peux lui interdire cela, en meme temps c'est logique. le coneneur etant sur le swf maitre, il retourne au swf maitre, et attend de charger le swf externe appele dans ce conteneur.


Comment puis je eviter cela ?
est ce une bonne idee de penser a utiliser un setinterval ?
(en meme temps, j'ai bien peur que de toute facon des qu'on parle de conteneur en unload ou meme en loadmovie, il retourne direct au swf maitre...

Ou est ce tout simplement ma construction qui est fausse ?

Merci encore pour votre aide car franchement je m'en sors pas avec ce truc...
Merci !



.
-LDL- est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/06/2008, 09h06   #2
Nouveau Membre du Club
 
Inscription : décembre 2007
Messages : 33
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 33
Points : 27
Points : 27
Bonjour,

je trouve que tu n'a pas très bien créé ton truc là !

je ne comprend pas pourquoi tu fait ce code :

Code :
1
2
3
4
5
6
7
 
on (press) {
_parent.mc_container.unloadMovie();
}
on (release){
_parent.mc_container.loadMovie ("clip1.swf");
}
moi dans un premier temps je ferai un bouton "fermer" sur ton clip1.swf que tu charge ou sur un autre clip chargé par le menu. Comme ca ton bouton fermé fait un unloadMovie() et ca laisse le temps a Flash de le supprimer.
Puis quand tu clique sur ton menu tu fait juste un loadMovie.

je l'ai testé et approuvé, et mon loader du swf fonctionne parfaitement.


Sinon j'ai une autre solution :

tu fait deux conteneur, pendant que tu en charge un en visible=false tu laisse l'autre en visible true, et puis tu alterne comme ca en vérifiant si les byte du swf sont tous bien chargé.

Voila, j'espère que je t'ai aidé un peu.
rburney est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/06/2008, 17h18   #3
Candidat au titre de Membre du Club
 
Inscription : mars 2008
Messages : 24
Détails du profil
Informations personnelles :
Âge : 53

Informations forums :
Inscription : mars 2008
Messages : 24
Points : 13
Points : 13
Citation:
Envoyé par rburney Voir le message
dans un premier temps je ferai un bouton "fermer" sur ton clip1.swf que tu charge ou sur un autre clip chargé par le menu. Comme ca ton bouton fermé fait un unloadMovie() et ca laisse le temps a Flash de le supprimer.
Puis quand tu clique sur ton menu tu fait juste un loadMovie.
merci pour ta reponse.
Je comprends pas bien ce que tu veux dire.
c'est un menu, donc chaque bouton doit commander l'arrivee du clip correspondant au bouton, et chaque clip doit etre visible plusieurs fois de suite si on veut naviguer correctement, dou la neccesite de decharger en meme temps que charger non ? tu peux pas demander au visiteur de charger et decharger lui meme, il faut que cela se fasse automatiquement sans qu'il est a s'en soucier....j'ai pas tout compris la....

Si t'as un exemple, je veux bien voir....


Sinon je crois plus a l'autre solution, mais ca demande des manip de AS que je connais pas.

Je suppose qu'il faut coller un conditionnel du genre :
quand je clique sur le bouton untel, les containers untel sont invisibles.
Et de plus, pour avoir un transition entre chaque container je suppose qu'il faut jouer avec alpha, toujours en AS...

tu sais ecrire ca toi ?
(moua pas huhu....).



.
-LDL- est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/06/2008, 17h48   #4
Nouveau Membre du Club
 
Inscription : décembre 2007
Messages : 33
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 33
Points : 27
Points : 27
Citation:
Je suppose qu'il faut coller un conditionnel du genre :
quand je clique sur le bouton untel, les containers untel sont invisibles.
Et de plus, pour avoir un transition entre chaque container je suppose qu'il faut jouer avec alpha, toujours en AS...
ouai c'est a peut près ça !

pour le visible est invisible c'est simple car c'est la propriété _visible = false (ou true)

pour le alpha progressif c'est pas nécessaire.

sinon il faut mettre dans ton action de clique sur un bouton un truc du genre :

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
 
 
on(release){
 
    if(conteneur1._visible == false){
        loadMovie("machin.swf",conteneur1);
    }else{
        loadMovie("machin.swf",conteneur2);
    }
}
 
// puis un deuxième coin dans un enterFrame pour quand les byte du swf sont totalement chargé on change la visibilité
 
if(conteneur1._visible == true){
    conteneur1._visible = false;
    conteneur1.unloadMovie();
    conteneur2._visible = true;
}else{
    conteneur2._visible = false;
    conteneur2.unloadMovie();
    conteneur1._visible = true;
}
 
// Remarque : utiliser les fonctions : getBytesLoaded() et getBytesTotal() pour vérifier que tous les byte sont chargé

voila, je pense que avec ça tu devrais pouvoir y arriver.
rburney est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/06/2008, 18h00   #5
Candidat au titre de Membre du Club
 
Inscription : mars 2008
Messages : 24
Détails du profil
Informations personnelles :
Âge : 53

Informations forums :
Inscription : mars 2008
Messages : 24
Points : 13
Points : 13
.


ok merci.
je'ssaye tout de suite puis j'edite les resultats.
(par contre c'est hyper lent avec un systeme de container, mais j'y suis oblige si je veux avoir une partie du swf maitre apparent par dessus tout autre swf appele).
Vant j'utilisais un CreateEmptyClip, c'est ultra rapide, mais bon, parait il que cela ne change absolument rien, pourtant j'ai teste les deux, ben y a une gross difference...
bon j'essaie....


.
-LDL- est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/06/2008, 18h14   #6
Candidat au titre de Membre du Club
 
Inscription : mars 2008
Messages : 24
Détails du profil
Informations personnelles :
Âge : 53

Informations forums :
Inscription : mars 2008
Messages : 24
Points : 13
Points : 13
.

quand tu dis dans un autre coin sur une enterframe,
que veux tu dire ?
j'ai pas compris la....

je vis pas du tout ce qu'il faut faire de la deuxieme partie.
Sinon, avec la premeire, ca fonctionne bien, je n'ai plus le swf maitre qui apparait.

on(release){

if(conteneur1._visible == false){
loadMovie("machin.swf",conteneur1);
}else{
loadMovie("machin.swf",conteneur2);
}
}


parcontre clip 1 ,oui, clip2 oui, re clip 1 non. le clip 2 recouvre definitvement le clip 1......



.
-LDL- est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/06/2008, 22h22   #7
Nouveau Membre du Club
 
Inscription : décembre 2007
Messages : 33
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 33
Points : 27
Points : 27
le enterFrame tu le fait soit dans dans un clip parent, soit dans un clip en dehors de l'application invisible.
rburney 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 02h02.


 
 
 
 
Partenaires

Hébergement Web