Code qui ne marche pas...

MilkGraphik Messages postés 17 Date d'inscription jeudi 9 avril 2009 Statut Membre Dernière intervention 9 décembre 2009 - 17 avril 2009 à 16:09
MilkGraphik Messages postés 17 Date d'inscription jeudi 9 avril 2009 Statut Membre Dernière intervention 9 décembre 2009 - 21 avril 2009 à 13:39
Salut à tous,

Je galere sur un truc depuis un moment et je cherche désespérément du soutien.
J'avais déjà posé une question y a quelques jours sur ce sujet, mais là j'ai , depuis, avancé et je galère encore mais c plus concret:

Je suis dans un clip nommé "HOME" qui est lui même dans un clip nommé "Rubriques" :: Sequence1/RUBRIQUES/HOME
Dans le clip RUBRIQUES j'ai un calque AS sur lequel j'ai une frame nommée "HOME", une autre nommée "GALERIE", une auter nommée "BIO" ; le clip HOME est donc sur la frame HOME
Dans le clip HOME, j'ai une frame IN avec la mise en place de la page et un stop() puis à la suite, une frame OUT avec un stop a l a fin.; j'ai également dans ce clip HOME un menu qui controle la nav generale.Je sais pas si c'est clair
Ma question est : comment quand je clic sur un bouton faire pour remonter sur le clip RUBRIQUES et lui dire par exemple: je clik sur le BT BIO , on joue le OUT de ce meme clip, puis une fois le OUT fini , on remonte d'un cran vers le clip RUBRIQUES et on va dans ce clip a la frame "BIO" ??
Voilà ce que j'ai pour le moment et ca coince...:

boutonBio.onRollOver = function() {
    this.cle = true;
    this.play();
};
boutonBio.onRollOut = function() {
    this.cle = false;
};
boutonBio.onPress = function() {
    gotoAndPlay("OUT");
    this.parent.gotoAndStop("BIO");
};

Tel que c'est ecrit, j'ai bien le rollover et le rollout qui fonctionnent, j'ai egalement le OUT qui marche mais c'est tout, le reste coince.
Je precise que ce script est placé dans le clip HOME, à la 1ere frame.

Merci d'avance.

18 réponses

on_drag_on Messages postés 1236 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 6 octobre 2010
17 avril 2009 à 19:30
Salut,
la première chose qui joue pas c'est que c'est _parent et non parent...

@+.
telov.ch
0
cs_bali_balo Messages postés 1378 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 1 novembre 2010 1
20 avril 2009 à 12:08
Le genre de chose qui a fait que je n'ai pratiquement plus de cheveux sur la tête ...

bali_balo....=]
0
MilkGraphik Messages postés 17 Date d'inscription jeudi 9 avril 2009 Statut Membre Dernière intervention 9 décembre 2009
20 avril 2009 à 13:32
Merci pour vos réponses , j'avance petit à petit !! sauf que (et oui, c'est pas si simple) avec ce code ci dessous, maintenant j'arrive bien a naviguer entre mes différents clip, grâce a _parent. ... mais le OUT ne se lie pas, ça passe direct au clip suivant sans lire mon anime OUT de sortie... Voilà ce que j'ai donc maintenant :

boutonBio.onRollOver = function() {
    this.cle = true;
    this.play();
};
boutonBio.onRollOut = function() {
    this.cle = false;
};
boutonBio.onPress = function() {
    this.gotoAndPlay("OUT");
    _parent.gotoAndStop("BIO");
};

quelqu'un a une idee ?
0
MilkGraphik Messages postés 17 Date d'inscription jeudi 9 avril 2009 Statut Membre Dernière intervention 9 décembre 2009
20 avril 2009 à 13:45
Variante : j'ai essayé ca aussi, avec ce code sur la 1ere frame du clip "HOME" , au niveau du IN :

var goMC:MovieClip;

boutonBio.onRollOver = function() {
    this.cle = true;
    this.play();
};
boutonBio.onRollOut = function() {
    this.cle = false;
};

boutonBio.onPress = function() {
    gotoAndPlay("OUT");
    goMC = _parent.Bio;
};

et sur la derniere frame de ce meme clip , a la fin du OUT:

goMC.gotoAndPlay("IN");

Là dans ce cas là, le OUT se lie bien, et à la fin du OUT le clip se relance au debut au lieu d'aller chercher le clip nommé Bio .

Une idée quelqu'un encore ?? (oui je sais j'exagere !!)
0

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

Posez votre question
on_drag_on Messages postés 1236 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 6 octobre 2010
20 avril 2009 à 14:42
"...on joue le OUT de ce meme clip, puis une fois le OUT fini..."

Regardes la propriété _currentFrame dans l'aide de Flash.

@+.
telov.ch
0
MilkGraphik Messages postés 17 Date d'inscription jeudi 9 avril 2009 Statut Membre Dernière intervention 9 décembre 2009
20 avril 2009 à 17:18
alors j'ai regardé, et j'avoue que ca ne m'avance pas plus dans le sens ou je ne comprends pas a quoi ca peut m'avancer dans mon cas... t'as l'air d'avoir une idee toi, de mon coté je vois pas le rapport entre mon clip ( ou vont se jouer les "currentFrame" ) et un autre clip plus haut dans la hierarchie des clips...
0
on_drag_on Messages postés 1236 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 6 octobre 2010
20 avril 2009 à 17:51
Bon je suis pas certain d'avoir tout compris de ce que tu veux faire, mais de ce que j'ai capté tu veux qu'une anim se joue et une fois jouée tu remonte d'un niveau , c'est ça? Donc au release tu joue l'anim et si l'anim arrive à sa dernière image: if (_currentFrame = ...) { alors on reviens là ou tu veux ...
Sinon mets ton .fla en ligne ou expliques moi un poil plus clairement parceque j'ai de la peine à me concentrer ...

@+.
telov.ch
0
MilkGraphik Messages postés 17 Date d'inscription jeudi 9 avril 2009 Statut Membre Dernière intervention 9 décembre 2009
20 avril 2009 à 19:14
Ok je te le mets là , ca sera plus simple:
http://www.megaupload.com/?d=E8H5P8GM

Et effectivement je veux qu'une fois l'anim jouée , ( le OUT de sortie) on aille un niveau au dessus dans le clip RUBRIQUES , sur la frame demandée...

C'est dur d'expliquer par ecrit un truc tout bete comme ca !!
0
on_drag_on Messages postés 1236 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 6 octobre 2010
20 avril 2009 à 20:32
Ouais ... ben c'est pas plus simple avec le .fla ... désolé mais je comprends absolument rien à ta logique, et j'ai pas envie de passer 5 heures pour comprendre. Mon avis c'est qu'il faut que tu reprennes depuis le début. Par rapport au résultat j'ai envie de te dire que ça me parait très très compliqué comme tu as fais là... si quelqu'un d'autres à envie de s'y pencher ...
Sinon je te conseillerais de dessiner la structure complète de ton site sur une feuille de papier et de réfléchir à une logique plus simple, en gros sur ta scène principale tu fais un calques AS et tout ton code devrais se trouver là sur l'image 1, en-dessous tu fais un calque pour un clip que tu nommes par exemple clip et dans ce clip tu places tes différentes animations en les nommant...

@+.
telov.ch
0
MilkGraphik Messages postés 17 Date d'inscription jeudi 9 avril 2009 Statut Membre Dernière intervention 9 décembre 2009
21 avril 2009 à 08:25
Arf... je vois ce que tu veux dire au niveau de la construction du Fla et je sais que c'est un peu bizarre mais bon quand même ... c'est pas si pourri que ca !!!
Et toujours est il que j'ai pas de réponses a mon problème...

et si je fais comme tu me dis , comment resoudre mon principal soucis ? (le OUT)
0
on_drag_on Messages postés 1236 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 6 octobre 2010
21 avril 2009 à 09:36
Non non c'est pas si pourri que ça sauf que tu peux il me semble faire plus simple. Le problème là c'est que c'est mal imbriqué. Il faudrait mettre chaque élément dans un clip, l'intro, les boutons, la transition. Comme ça tu lance et tu arrête ce que tu veux depuis l'image 1 de la scène 1, et c'est beaucoup plus facile. Faut que tu vois ça un peu comme une pyramide. ...
Là je sais pas d'ou vient ton problème, et c'est trop fouilli, j'ai pas le courage de m'y plonger,
Mais y a un truc que je remarque, c'est que  certains de tes clips n'ont pas de noms d'occurences, que HOME est un nom réservé par Flash il s'agit d'une propriété, que tu devrait nommé les objets et frames avec des minuscule et de mettre un préfixe pour éviter un noms reservé, genre au lieu de IN -> img_in, au lieu de HOME, home_mc.

A part çA peut-être que ton prob. n'est pas si loin mais je conseille tout de même de recopier un par un les éléments sur un nouveau Fla propre en tenant compte de ce que je t'ai mis ci-dessus.

@+.
telov.ch
0
MilkGraphik Messages postés 17 Date d'inscription jeudi 9 avril 2009 Statut Membre Dernière intervention 9 décembre 2009
21 avril 2009 à 10:04
ok je vais faire ca surement ... par contre l'anim de transition me pose un soucis car c'est une anim propre a chaque clip, c'est une sortie de clip et non pas une transition... ca change quelquechose?
0
on_drag_on Messages postés 1236 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 6 octobre 2010
21 avril 2009 à 10:29
Mmmh ...
Moi je ferais comme ça.
Ton intro dans un clip qui se lance au démarrage et stop(), home_mc.stop(); gallery_mc.stop(); etc...
Chacune des transitions dans un clip. trans_home, trans_gallery, etc...
Chaque boutons dans un clip, clip_btn dans lequel tu as hom_mc, gallery_mc

Et ensuite tu cible comme ça:

this.clip_btn.home_mc.onPress = function() {
trans_home.gotoAndPlay(2);
//là ça joue depuis la 2 et quand ça revient à la 1 ça stop.
clip_btn.home_mc.gotoAndStop(2);
//Et la tu mets ton texte d'acceuil
}

En gros je vois le truc comme ça.

@+.
telov.ch
0
on_drag_on Messages postés 1236 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 6 octobre 2010
21 avril 2009 à 10:42
Ou alors je ne comprends vraiment pas de quelle façon tu cherche à construire ton truc c'est pour ça que je te propose de faire un shéma sur une feuille,genre:

clip de base ->clip_btn->Acceuil_btn
                                     ->gallery_btn

Si tu me fais un shéma clair de ce que tu veux, tu peux me l'envoyer par MP, et j'essayerais de te faire un gabarit.

@+.
telov.ch
0
Blacknight91titi Messages postés 1732 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 9 mars 2015 2
21 avril 2009 à 10:55
Bonjour,

[Note : Je reposte mon message depuis IE, il semble que le formulaire ne fonctionne pas correctement sous Google Chrome..., je demanderai à un administrateur de bien vouloir supprimer mon précédent message. Merci]

Ceci-dit il serait peut-être plus avantageux pour toi de passer à ActionScript 3, tu gagnerai en lisibilité de code et en performance.

L'ActionScript 3 semble plus compliqué étant donné qu'il demande au développeur d'être plus rigoureux dans leur façon de penser.
C'est juste une habitude à prendre, une fois prise on se rend compte qu'on ne pourra plus jamais développer en AS1 & 2...
 
Première habitude à prendre quelque soit la version d'ActionScript : Centralisé son code sur la scène, à la racine de ton arborescence (ou plus communément appelé "root").
En ActionScript 3, dans le cas ou tu utiliserais du code dans un MovieClip (pensez que le Sprite est le meileur outil à utiliser dans la majorité des cas, plus d'information dans le dictionnaire AS) il est préférable de ne pas placer de code dans le clip parent mais plutôt d'exporter le clip pour ActionScript et de passer par une classe intermédiaire afin de définir le code requis à l'intérieur.
C'est d'autant plus léger et surtout beaucoup plus facilement modifiable par la suite.

Note : En ActionScript 3, finit les "onRollOver", place aux évènements.
Exemple :
monBouton.addEventListener(MouseEvent.CLICK, fonctionClick);
function fonctionClick(evt:MouseEvent):void { 
   trace("click sur le bouton");
}

Alors oui, passer à ActionScript 3 demande un certain temps d'adaptation et un peu de courage.
Mais comme me le confirmera OnDragOn, le résultat en vaut la peine !






Ps : A l'avenir, évite les titres de message du type "Code qui ne marche pas", ce n'est pas du tout compréhensible et cela va à l'encontre de la charte de bonne conduite du forum.








Blacknight


http://www.osteres.com/
0
on_drag_on Messages postés 1236 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 6 octobre 2010
21 avril 2009 à 10:59
Et pour tes ta transition entée sortie, tu peux faire ça en code avec les tweens, par exemple pour le clip home qui vient d'en haut:

import mx.transitions.*;
import mx.transitions.easing.*;
TransitionManager.start(visuel2_inst,{type:Fly, direction:Transition.IN, duration:1.5, easing:Bounce.easeOut, startPoint:2});

Tiens je te te mets ce fichier d'exemple que j'avais dl sur yazo.net à l'époque :
http://www.telov.ch/TransitionsImagesTween.fla

@+.
telov.ch
0
on_drag_on Messages postés 1236 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 6 octobre 2010
21 avril 2009 à 11:02
Ouuuuuups pardon, posts croisés !

Alors effectivement je confirme très largement ce que propose Blacknight, passer à l'AS3 est plus ardu au début mais beaucoup beaucoup plus clair une fois qu'on adopte la bonne logique.

@+.
telov.ch
0
MilkGraphik Messages postés 17 Date d'inscription jeudi 9 avril 2009 Statut Membre Dernière intervention 9 décembre 2009
21 avril 2009 à 13:39
(Désolé pour le titre qui n'est pas tres clair (code qui marche pas) , j'essaierai de faire mieux la prochiane fois !! ceci dit j'ai voulu le modif mais une fois posté apparemment c'etait trop tard).



Quant a vos messages, merci beaucoup, je sais qu'il serait temps de passer a l'AS3 mais mais ca demande du temps d'apprentissage que je n'ai pas pour le moment, mais je vais m'y coller tres vite...

OndragOn je te fais un shema si tu veux mais c'est assez simple , je pense que ce qui t'embrouille c'est ma construction du .fla un peu bizarre, je te post un truc plus clair
0
Rejoignez-nous