Boutons à l'intérieur d'un attachMovie

fredofmars13 Messages postés 6 Date d'inscription mardi 6 novembre 2007 Statut Membre Dernière intervention 30 mars 2008 - 24 mars 2008 à 00:32
cs_inaden Messages postés 618 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 27 août 2010 - 31 mars 2008 à 07:45
Bonjour à tous.
Voila mon pb :
je réalise mon site vitrine avec une base de donnée XML.
J'ai un bouton de menu appelé smprint_btn. J'ai fais en sorte que celui-ci appelle dans la bibliothèque grace à un attachMovie un clip nommé "smprint_mc" à x: 142 et y : 465. Jusque là aucun pb mais lorsque à l'intérieur de ce clip je veux cliquer dans un des 6 boutons qu'il posséde pour appeler mon fichier xml rien ne se passe.

Y a t il un moyen pour qu'avec un attachMovie je puisse quand même faire fonctionner mes boutons?

Merci de vos réponses et voici mon code.

   //Code sous menu print
   
    _root.print_btn.onRollOver = function() {
    _root.attachMovie("smprint_mc", "smprint", 20, {_x:142, _y:465});
}
_root.smprint_mc.groupama_btn.onRelease = function() {
    _root.textitre_mc.gotoAndStop(1);
    _root.legend_mc.gotoAndStop(1);
monClip_mcl.loadClip(listeItem[13].lien+".jpg", conteneur_mc);
_root.textitre_mc.titranim_mc.textitre.htmlText = " "+listeItem[13].titre+" ";
_root.legend_mc.legendanim_mc.legend.htmlText = ""+listeItem[13].legende+""
}

11 réponses

cs_inaden Messages postés 618 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 27 août 2010 2
25 mars 2008 à 10:03
Je dis peut-être une connerie, mais je crois que si ton code pour les boutons sont actif avant que ton clip ne soit loadé de ta bibliothèque ça ne fonctionera pas.
Essaie peut-être de mettre tes code de bouton groupama et autre dans une fonction, et appelle ta fonction une fois que ton clip smprint_mc est loadé depuis ta bibliothèque :
    _root.print_btn.onRollOver = function() {
    _root.attachMovie("smprint_mc", "smprint", 20, {_x:142, _y:465});
mafonctionBouton();
}

function mafonctionBouton(){
_root.smprint_mc.groupama_btn.onRelease = function() {
    _root.textitre_mc.gotoAndStop(1);
    _root.legend_mc.gotoAndStop(1);
monClip_mcl.loadClip(listeItem[13].lien+".jpg", conteneur_mc);
_root.textitre_mc.titranim_mc.textitre.htmlText
= ""+listeItem[13].titre+"";
_root.legend_mc.legendanim_mc.legend.htmlText = ""+listeItem[13].legende+""
}
}

Et dis nous si ça marche.
Bon courage

Tout vient à qui sait attendre
0
cs_Girou Messages postés 1203 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 23 juillet 2009 2
25 mars 2008 à 10:04
Salut,

_root.attachMovie("smprint_mc", "smprint", 20, {_x:142, _y:465});
smprint_mc est le nom de liaison du clip dans la bibliotheque
smprint est le mon de l'occurence du clip que tu crées avec le attach movie, c'est donc ce nom qui doit être utilisé pour faire référence aux boutons inclus dans le clip

//Code sous menu print
_root.print_btn.onRollOver = function()
{
    _root.attachMovie("smprint_mc", "smprint", 20, {_x:142, _y:465});
}
_root.smprint.groupama_btn.onRelease = function() {
    _root.textitre_mc.gotoAndStop(1);
    _root.legend_mc.gotoAndStop(1);
    monClip_mcl.loadClip(listeItem[13].lien+".jpg", conteneur_mc);
    _root.textitre_mc.titranim_mc.textitre.htmlText
= ""+listeItem[13].titre+"";
    _root.legend_mc.legendanim_mc.legend.htmlText = ""+listeItem[13].legende+""
}

@+
0
fredofmars13 Messages postés 6 Date d'inscription mardi 6 novembre 2007 Statut Membre Dernière intervention 30 mars 2008
25 mars 2008 à 12:23
Merci pour tout je vaois si ça marche et je vous tiens au courrant.
0
fredofmars13 Messages postés 6 Date d'inscription mardi 6 novembre 2007 Statut Membre Dernière intervention 30 mars 2008
25 mars 2008 à 22:20
Merci inaden et Girou : ça marche mais maintenant il y a un autre pb (Il en faut tours un autre).
Mon premier bouton (en rose dans le code) fonctionne mais lorsque j'appelle le second bouton (en bleu dans le code) celui-ci ne fonctionne pas.
Comme vous avez vu je débute en action script et j'essai de me débrouiller mais après avoir essayer plein de trucs je cale.

Merci si vous avez une idée.
A+




    _root.print_btn.onRollOver = function() {
    attachMovie("smprint_mc", "smprint", 1, {_x:142, _y:465});
    _root.texte_presentation_mc._alpha=0;
    _root.navig_mc._y = -60;
mafonctionBouton();
     }


function mafonctionBouton(){
_root.smprint.groupama_btn.onRelease = function() {
    coupure(13,16);
    _root.navig_mc._y = 35,5;
    _root.textitre_mc.gotoAndStop(1);
    _root.legend_mc.gotoAndStop(1);
monClip_mcl.loadClip(listeItem[13].lien+".jpg", conteneur_mc);
_root.textitre_mc.titranim_mc.textitre.htmlText = " "+listeItem[13].titre+" ";
_root.legend_mc.legendanim_mc.legend.htmlText = ""+listeItem[13].legende+""


}
}

function mafonctionBouton(){
_root.smprint.pointp_btn.onRelease = function() {
    coupure(13,16);
    _root.navig_mc._y = 35,5;
    _root.textitre_mc.gotoAndStop(1);
    _root.legend_mc.gotoAndStop(1);
monClip_mcl.loadClip(listeItem[13].lien+".jpg", conteneur_mc);
_root.textitre_mc.titranim_mc.textitre.htmlText = " "+listeItem[13].titre+" ";
_root.legend_mc.legendanim_mc.legend.htmlText = ""+listeItem[13].legende+""


}
}
}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_inaden Messages postés 618 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 27 août 2010 2
26 mars 2008 à 07:43
C'est normal, tu peux pas avoir deux mafonctionBouton() dans ton code. Oubien tu crée deux fonction mafonctionBouton1 et mafonctionBouton2... et tu les appelles toutes les deux dans _root.print_btn.onRollOver = function() {
//....
}
Oubien tu les groupe dans mafonctionBouton :
function mafonctionBouton(){
_root.smprint.groupama_btn.onRelease = function() {
//....
}
_root.smprint.pointp_btn.onRelease = function() {
//...
}
Ou encore tu essai d'optimiser tout ça. Comme j'ai l'impression qu'il n'y a que le nom du bouton qui change tu peux peut-être essayer :
    _root.print_btn.onRollOver = function() {
    attachMovie("smprint_mc", "smprint", 1, {_x:142, _y:465});
    _root.texte_presentation_mc._alpha=0;
    _root.navig_mc._y = -60;
mafonctionBouton();
     }

function mafonctionBouton(){
lesboutons(groupama_bt);
lesboutons(pointp_bt);
}

function lesboutons(bouton){
_root.smprint.bouton.onRelease = function() {
    coupure(13,16);
    _root.navig_mc._y = 35,5;
    _root.textitre_mc.gotoAndStop(1);
    _root.legend_mc.gotoAndStop(1);
monClip_mcl.loadClip(listeItem[13].lien+".jpg", conteneur_mc);
_root.textitre_mc.titranim_mc.textitre.htmlText
= ""+listeItem[13].titre+"";
_root.legend_mc.legendanim_mc.legend.htmlText = ""+listeItem[13].legende+""
}
}

Et si tu as d'autres paramètres qui changent tu les ajoutes en tant qu variable. Par exemple si tu voulais changer la position en y tu mettrais :
function lesboutons(bouton,pos_y){
_root.smprint.bouton.onRelease = function() {
    coupure(13,16);
    _root.navig_mc._y = pos_y;
    _root.textitre_mc.gotoAndStop(1);
    _root.legend_mc.gotoAndStop(1);
monClip_mcl.loadClip(listeItem[13].lien+".jpg", conteneur_mc);
_root.textitre_mc.titranim_mc.textitre.htmlText
= ""+listeItem[13].titre+"";
_root.legend_mc.legendanim_mc.legend.htmlText = ""+listeItem[13].legende+""
}
}

Et sinon, j'ai l'impression qu'il y a une accolade fermante en trop dans ta fonction bleu, mais je ne pense pas que ce soit qui bloque.
Voilà, dis nous si ça marche.

Tout vient à qui sait attendre
0
cs_inaden Messages postés 618 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 27 août 2010 2
26 mars 2008 à 07:45
Ah oui, pardon. Pour le cas ou tu ajoutes des variable dans ta fonction, quand tu appelles ta fonction il faut aussi les déterminer :

function mafonctionBouton(){
lesboutons(groupama_bt,35.5);
lesboutons(pointp_bt,46);
}

Tout vient à qui sait attendre
0
fredofmars13 Messages postés 6 Date d'inscription mardi 6 novembre 2007 Statut Membre Dernière intervention 30 mars 2008
26 mars 2008 à 09:26
ça marche nickel. Merci Inaden. Je vais maintenant essayer d'optimiser mon code.

:)
0
fredofmars13 Messages postés 6 Date d'inscription mardi 6 novembre 2007 Statut Membre Dernière intervention 30 mars 2008
30 mars 2008 à 13:19
ca marche nickel pour le premier menu "print" mais si je fais un autre menu "multimedia" par exemple, les boutons de ce dernier ne fonctionnent pas. Pb de fonction?
Voici le code :
code bleu ok
code vert ne fonctionne pas

Merci de votre aide.

//Code menu print

    _root.print_btn.onRollOver = function() {
    attachMovie("smprint_mc", "smprint", 1, {_x:142, _y:465});
    _root.texte_presentation_mc._alpha=0;
    _root.navig_mc._y = -60;
mafonctionBouton();
}

function mafonctionBouton(){
_root.smprint.groupama_btn.onRelease = function() {
    _root.image_accueil_mc.gotoAndPlay("image_fond_off");
    coupure(13,15);
    _root.navig_mc._y = 40;
    _root.textitre_mc.gotoAndStop(1);
    _root.legend_mc.gotoAndStop(1);
monClip_mcl.loadClip(listeItem[0].lien+".jpg", conteneur_mc);
_root.textitre_mc.titranim_mc.textitre.htmlText = " "+listeItem[13].titre+" ";
_root.legend_mc.legendanim_mc.legend.htmlText = ""+listeItem[13].legende+""
}

_root.smprint.bouygues_btn.onRelease = function() {
    coupure(3,4);
    _root.navig_mc._y = 40;
    _root.textitre_mc.gotoAndStop(1);
    _root.legend_mc.gotoAndStop(1);
monClip_mcl.loadClip(listeItem[0].lien+".jpg", conteneur_mc);
_root.textitre_mc.titranim_mc.textitre.htmlText = " "+listeItem[22].titre+" ";
_root.legend_mc.legendanim_mc.legend.htmlText = ""+listeItem[22].legende+""
}

//Code menu multimedia :

_root.multimedia_btn.onRollOver = function() {

    attachMovie("smmultimedia_mc", "smmultimedia", 1, {_x:142, _y:465});

    _root.texte_presentation_mc._alpha=0;

    _root.navig_mc._y = -60;

mafonctionBouton();

}


function mafonctionBouton(){

_root.smmultimedia.divers_btn.onRelease = function() {

    _root.image_accueil_mc.gotoAndPlay("image_fond_off");

    coupure(13,15);

    _root.navig_mc._y = 40;

    _root.textitre_mc.gotoAndStop(1);

    _root.legend_mc.gotoAndStop(1);

monClip_mcl.loadClip(listeItem[0].lien+".jpg", conteneur_mc);

_root.textitre_mc.titranim_mc.textitre.htmlText = ""+listeItem[13].titre+"";

_root.legend_mc.legendanim_mc.legend.htmlText = ""+listeItem[13].legende+""

}
0
cs_inaden Messages postés 618 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 27 août 2010 2
30 mars 2008 à 13:53
Même problème :

Tu nomme deux fois ta fonction mafonctionBouton() ; donc ou bien tu nomme ta fonction mafonctionBouton2 pour multimédia, ou bien tu passe ton adressage de bouton en variable :

function mafonctionBouton(macible){
_root.macible.onRelease = function() {

...]
et quand tu appelles ta fonction tu rentre ta cible en paramètre : mafonctionBouton(smmultimedia.divers_btn) pour multimédia et mafonctionBouton(smprint.groupama_btn) pour print
Normalement, ça devrait marcher

Tout vient à qui sait attendre
0
fredofmars13 Messages postés 6 Date d'inscription mardi 6 novembre 2007 Statut Membre Dernière intervention 30 mars 2008
30 mars 2008 à 18:02
voici comment j'ecris le code mais ça ne marche pas :

//Code menu multimedia

    _root.multimedia_btn.onRollOver = function() {
    attachMovie("smmultimedia_mc", "smmultimedia", 1, {_x:197, _y:465});
    _root.texte_presentation_mc._alpha=0;
    _root.navig_mc._y = -60;
mafonctionBouton(
smmultimedia.lacity_btn
);
}

function mafonctionBouton(
smmultimedia.lacity_btn

){ _root.macible.onRelease = function() {
    _root.image_accueil_mc.gotoAndPlay("image_fond_off");
    coupure(13,15);
    _root.navig_mc._y = 40;
    _root.textitre_mc.gotoAndStop(1);
    _root.legend_mc.gotoAndStop(1);
monClip_mcl.loadClip(listeItem[0].lien+".jpg", conteneur_mc);
_root.textitre_mc.titranim_mc.textitre.htmlText = " "+listeItem[13].titre+" ";
_root.legend_mc.legendanim_mc.legend.htmlText = ""+listeItem[13].legende+""
}
}



Je débute vraiment ja crois que ça se voit.
J'ai essayé plein de solutions mais je me plante à chaque fois.
Si qqn a une idée? Merci pour tout.
0
cs_inaden Messages postés 618 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 27 août 2010 2
31 mars 2008 à 07:45
Salut
pas : function mafonctionBouton( smmultimedia.lacity_btn ){ _root.macible.onRelease = function() {
mais : function mafonctionBouton( macible ){ _root.macible.onRelease = function() {
et ça devrait marcher

Tout vient à qui sait attendre
0
Rejoignez-nous