Forums Développement Multimédia

Aller au contenu

- - - - -

Probleme de Main Timline

CODE DETENTE

5 réponses à ce sujet

#1 pierretroik

    Ceinture Blanche

  • Members
  • Pip
  • 6 messages

Posté 14 October 2015 - 10:38 AM

Bonjour à tous,

je viens pour la première fois sur ce site alors j'espère que je suis dans le bon forum.

Voila mon problème :

j'importe une class main dans un ficher.fla

dans cette Class main je fais importer une nouvelle Class qui construit mon menu.

Lorsque je clique sur un lien de mon menu il affiche un titre en fonction du lien donc sur ma timeine princiale.
Je voudrais en même temps pouvoir changer de Frame par exemple gotoAndStop(5) (passer de la frame 1 a la frame 5 en fonction de mon choix cliqué dans ce menu.
j'ai essayé en autres : MovieClip(root).gotoAndstop(5); mais ca ne marche pas

Ci quelqu'un pouvait m'aider ce serait formidable et je le remercie d'avance.

#2 dldler

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 4163 messages

Posté 14 October 2015 - 11:19 AM

Bonjour Pierre

Ta question est bien posée (et au bon endroit) ce qui me semble encourageant pour te donner une réponse constructive, mais j'aimerais bien estimer un peu ton niveau. Tu connais un peu la programmation objet en général ? Si je te répond 'événementiel', ça te parle ou pas du tout ?

#3 pierretroik

  • Guests

Posté 14 October 2015 - 11:32 AM

ouufff une réponse merci !

oui je sais utiliser les bases de la programmation objet. J'arrive a me débrouiller pas trop mal mais là je cale.

#4 dldler

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 4163 messages

Posté 14 October 2015 - 14:01 PM

OK

Donc, pour ce genre de problème on a une formule par ici :
– Les enfants n'ont pas le droit de faire les poches de leur parent.
Dans ton cas : le menu n'a pas à aller tripatouiller l'affichage de son parent.
Pour le faire proprement, utilise un événement personnalisé. Ce n'est pas difficile :
- le menu dispatch un event "Nouvelle sélection" ave le code :
// dans la classe Menu, dans la fonction qui gère la sélection d'un article de menu :
selection = (?); // mémoriser la sélection de l'utilisateur, généralement un id numérique
dispatchEvent(new Event("Selection utilisateur");

Et là s'arrête son rôle.
Le parent (main dans ton cas, si ton Main est bien lié au .fla) va écouter l'événement émit par son enfant Menu et donner une fonction de rappel comme ceci :

// dans le constructeur de Main
menu.addEventListener("Selection utilisateur", changer_de_page);

et la fonction changer de page doit se débrouiller pour récupérer l'info sur la sélection de l'utilisateur (moi, je passerais par une variable publique de la classe Menu) et aller à la page correspondante.

// dans Main
private function changer_de_page(event:Event):void {
   switch(menu.selection) {
          case 0 : gotoAndStop(5); break;
          case 1 : gotoAndStop(8); break;
   }
}

Cette façon de faire te donnera un menu plus autonome que tu pourras réutiliser plus facilement.

En espérant être clair, sinon n'hésite pas.

#5 pierretroik

  • Guests

Posté 14 October 2015 - 15:04 PM

Les parents devraient placer plus d'argent dans les poches de leurs enfants ! lol !
Je comprends la démarche que vous me conseillez de suivre. Je vais travailler ça. je vous tiens au courant du résultat. Merci infiniment.

#6 pierretroik

  • Guests

Posté 14 October 2015 - 18:19 PM

lorsque j'ai vu votre conseil, votre exemple à suivre, ça m'a fait peur car utiliser dispatchEvent (new Event... me paraissait trop abstrait. Je n'avais pas compris jusqu'à aujourd'hui comment on s'en servait. Finalement j'y suis arrivé et j'ai donc résolu mon problème. Je vous en suis infiniment reconnaissant. Ce langage ActionScript3 est extraordinaire et passionnant. Merci encore et à très bientôt sans abuser de votre aide.
Pierrick




Répondre à ce sujet



  

1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)

authorised training centre

Centre de Formation Mediabox - Adobe et Apple Authorised Training Center.

Déclaré auprès de la Direction du Travail et de la Formation Professionnelle

Mediabox : SARL au capital de 62.000€ - Numéro d'activité : 11 75 44555 75 - SIRET : 49371646800035

MEDIABOX, 23, rue de Bruxelles, 75009 PARIS

FFP