Simplement un post ici mais je ne sais pas où le poster
ailleurs et je n'ai pas le temps (surtout ça) de le
faire en Anglais ni de faire suivre à Macromedia.
Pour reproduire c'est extrêmement simple :
- créer un movie clip (nommé pour l'exemple mcMaster) ;
- créer un movie clip (nommé pour l'exemple mcDetail) ;
- mettre dans mcMaster un clip McDetail et le nommer
"BtnDetail" ;
- mettre le clip mcMaster dans la séquence principale,
image 1.
Taper ce code
- à l'image 1:
1> var Test:Boolean;
2> Test=true;
- à l'image 2 de la séquence principale :
1> this.onBtnDetail = function() {
2> mcMaster._xscale = 30;
3> mcMaster._yscale = 30;
4> gotoAndPlay(1); // juste pour un test;
5> }
6> mcMaster.BtnDetail1.onRelease = this.onBtnDetail;
à l'image 3:
1> stop(); // arrêter l'anim
mettre un point d'arrêt aux lignes :
- image 1 : ligne 2
- image 2 : lignes 4 et 6
- image 3 : ligne 1
lancer l'anim.
le mcDetail devient cliquable dès l'image 2.
normal. en cliquant dessus on rentre bien dans
la fonction et là il devrait *revenir* à l'image 1
de par le gotoAndPlay(1) mais *non* ! il continue
le script ! et quel que soit le numéro de l'image
dans le "gotoAndPlay", c'est ignoré et le script
continue linéairement ! il suffit juste de faire
du pas à pas pour le voir !
C'est un bug clairement identifiable.
Une solution pour le contourner ? Simple :
dans le mcDetail, rajouter un boolean "Click"
et le mettre à true dans la fonction onClick
décrite juste au dessus et dans l'ordre linéraire
tester si ce boolean est vrai :
1> this.onBtnDetail = function() {
2> mcMaster._xscale = 30;
3> mcMaster._yscale = 30;
4> this.Click=true;
5> gotoAndPlay(1); // juste pour un test;
6> }
7> if (!mcMaster.BtnDetail.Click) {
8> mcMaster.BtnDetail1.onRelease = this.onBtnDetail;
9> } else {
10> mcMaster.BtnDetail1.Click = false;
11> // faire son code...
12> }
Attention ! Bien laisser gotoAndPlay() sinon, le bug
disparait et on ne continue pas de façon linéaire,
(la fonction se termine normalement, sans continuer).
Si quelqu'un voulait le faire suivre en Anglais à Macromedia ça aiderait toute la communauté à avancer. Merci !
zwetan
> - à l'image 2 de la séquence principale : 1> this.onBtnDetail = function() { 2> mcMaster._xscale = 30; 3> mcMaster._yscale = 30; 4> gotoAndPlay(1); // juste pour un test;
this.gotoAndPlay(1); //methode de MovieClip
et non pas: gotoAndPlay(1); //action datant de Flash v2
mettre un point d'arrêt aux lignes : - image 1 : ligne 2 - image 2 : lignes 4 et 6 - image 3 : ligne 1
lancer l'anim. le mcDetail devient cliquable dès l'image 2. normal. en cliquant dessus on rentre bien dans la fonction et là il devrait *revenir* à l'image 1 de par le gotoAndPlay(1) mais *non* ! il continue le script ! et quel que soit le numéro de l'image dans le "gotoAndPlay", c'est ignoré et le script continue linéairement ! il suffit juste de faire du pas à pas pour le voir !
C'est un bug clairement identifiable.
hummm c'est pas un bug, c'est la maniere de se comporter du player si tu utilises this.gotoAndPlay (comme une methode donc) ce "bug" ne devrait pas apparaitre
voir ici pour une plus longue discussion sur un probleme similaire entre "this.stop()" et "stop()" http://www.lalex.com/blog/comments/200410/211-fonctions-globales-ciblage.html#comments
[snip...le reste]
zwetan
>
- à l'image 2 de la séquence principale :
1> this.onBtnDetail = function() {
2> mcMaster._xscale = 30;
3> mcMaster._yscale = 30;
4> gotoAndPlay(1); // juste pour un test;
this.gotoAndPlay(1); //methode de MovieClip
et non pas:
gotoAndPlay(1); //action datant de Flash v2
mettre un point d'arrêt aux lignes :
- image 1 : ligne 2
- image 2 : lignes 4 et 6
- image 3 : ligne 1
lancer l'anim.
le mcDetail devient cliquable dès l'image 2.
normal. en cliquant dessus on rentre bien dans
la fonction et là il devrait *revenir* à l'image 1
de par le gotoAndPlay(1) mais *non* ! il continue
le script ! et quel que soit le numéro de l'image
dans le "gotoAndPlay", c'est ignoré et le script
continue linéairement ! il suffit juste de faire
du pas à pas pour le voir !
C'est un bug clairement identifiable.
hummm c'est pas un bug, c'est la maniere de se comporter du player
si tu utilises this.gotoAndPlay (comme une methode donc)
ce "bug" ne devrait pas apparaitre
voir ici pour une plus longue discussion sur un probleme
similaire entre "this.stop()" et "stop()"
http://www.lalex.com/blog/comments/200410/211-fonctions-globales-ciblage.html#comments
> - à l'image 2 de la séquence principale : 1> this.onBtnDetail = function() { 2> mcMaster._xscale = 30; 3> mcMaster._yscale = 30; 4> gotoAndPlay(1); // juste pour un test;
this.gotoAndPlay(1); //methode de MovieClip
et non pas: gotoAndPlay(1); //action datant de Flash v2
mettre un point d'arrêt aux lignes : - image 1 : ligne 2 - image 2 : lignes 4 et 6 - image 3 : ligne 1
lancer l'anim. le mcDetail devient cliquable dès l'image 2. normal. en cliquant dessus on rentre bien dans la fonction et là il devrait *revenir* à l'image 1 de par le gotoAndPlay(1) mais *non* ! il continue le script ! et quel que soit le numéro de l'image dans le "gotoAndPlay", c'est ignoré et le script continue linéairement ! il suffit juste de faire du pas à pas pour le voir !
C'est un bug clairement identifiable.
hummm c'est pas un bug, c'est la maniere de se comporter du player si tu utilises this.gotoAndPlay (comme une methode donc) ce "bug" ne devrait pas apparaitre
voir ici pour une plus longue discussion sur un probleme similaire entre "this.stop()" et "stop()" http://www.lalex.com/blog/comments/200410/211-fonctions-globales-ciblage.html#comments
[snip...le reste]
zwetan
Olivier Pons
Je pense que tu n'as pas compris l'objectif. Je comprends parfaitement le principe de this.gotoAndPlay mais dans ce cas ça aurait été l'objet lui-même (donc mcDetail) et pas le movie clip principal qui aurait été à l'image 1. Moi, je voulais faire aller le clip principal à l'image 1 sans passer par des appels horribles tels que "_level0." ou encore "_root" !
"zwetan" a écrit dans le message de news:cpp8mt$m0o$
> > - à l'image 2 de la séquence principale : > 1> this.onBtnDetail = function() { > 2> mcMaster._xscale = 30; > 3> mcMaster._yscale = 30; > 4> gotoAndPlay(1); // juste pour un test;
this.gotoAndPlay(1); //methode de MovieClip
et non pas: gotoAndPlay(1); //action datant de Flash v2
> 5> } > 6> mcMaster.BtnDetail1.onRelease = this.onBtnDetail; > à l'image 3: > 1> stop(); // arrêter l'anim > > mettre un point d'arrêt aux lignes : > - image 1 : ligne 2 > - image 2 : lignes 4 et 6 > - image 3 : ligne 1 > > lancer l'anim. > le mcDetail devient cliquable dès l'image 2. > normal. en cliquant dessus on rentre bien dans > la fonction et là il devrait *revenir* à l'image 1 > de par le gotoAndPlay(1) mais *non* ! il continue > le script ! et quel que soit le numéro de l'image > dans le "gotoAndPlay", c'est ignoré et le script > continue linéairement ! il suffit juste de faire > du pas à pas pour le voir ! > > C'est un bug clairement identifiable.
hummm c'est pas un bug, c'est la maniere de se comporter du player si tu utilises this.gotoAndPlay (comme une methode donc) ce "bug" ne devrait pas apparaitre
voir ici pour une plus longue discussion sur un probleme similaire entre "this.stop()" et "stop()"
Je pense que tu n'as pas compris l'objectif.
Je comprends parfaitement le principe de
this.gotoAndPlay mais dans ce cas
ça aurait été l'objet lui-même (donc mcDetail)
et pas le movie clip principal qui aurait été
à l'image 1. Moi, je voulais faire aller
le clip principal à l'image 1 sans passer
par des appels horribles tels que "_level0."
ou encore "_root" !
"zwetan" <flashcodeurs@zwetan.com> a écrit dans le message de
news:cpp8mt$m0o$1@forums.macromedia.com...
>
> - à l'image 2 de la séquence principale :
> 1> this.onBtnDetail = function() {
> 2> mcMaster._xscale = 30;
> 3> mcMaster._yscale = 30;
> 4> gotoAndPlay(1); // juste pour un test;
this.gotoAndPlay(1); //methode de MovieClip
et non pas:
gotoAndPlay(1); //action datant de Flash v2
> 5> }
> 6> mcMaster.BtnDetail1.onRelease = this.onBtnDetail;
> à l'image 3:
> 1> stop(); // arrêter l'anim
>
> mettre un point d'arrêt aux lignes :
> - image 1 : ligne 2
> - image 2 : lignes 4 et 6
> - image 3 : ligne 1
>
> lancer l'anim.
> le mcDetail devient cliquable dès l'image 2.
> normal. en cliquant dessus on rentre bien dans
> la fonction et là il devrait *revenir* à l'image 1
> de par le gotoAndPlay(1) mais *non* ! il continue
> le script ! et quel que soit le numéro de l'image
> dans le "gotoAndPlay", c'est ignoré et le script
> continue linéairement ! il suffit juste de faire
> du pas à pas pour le voir !
>
> C'est un bug clairement identifiable.
hummm c'est pas un bug, c'est la maniere de se comporter du player
si tu utilises this.gotoAndPlay (comme une methode donc)
ce "bug" ne devrait pas apparaitre
voir ici pour une plus longue discussion sur un probleme
similaire entre "this.stop()" et "stop()"
Je pense que tu n'as pas compris l'objectif. Je comprends parfaitement le principe de this.gotoAndPlay mais dans ce cas ça aurait été l'objet lui-même (donc mcDetail) et pas le movie clip principal qui aurait été à l'image 1. Moi, je voulais faire aller le clip principal à l'image 1 sans passer par des appels horribles tels que "_level0." ou encore "_root" !
"zwetan" a écrit dans le message de news:cpp8mt$m0o$
> > - à l'image 2 de la séquence principale : > 1> this.onBtnDetail = function() { > 2> mcMaster._xscale = 30; > 3> mcMaster._yscale = 30; > 4> gotoAndPlay(1); // juste pour un test;
this.gotoAndPlay(1); //methode de MovieClip
et non pas: gotoAndPlay(1); //action datant de Flash v2
> 5> } > 6> mcMaster.BtnDetail1.onRelease = this.onBtnDetail; > à l'image 3: > 1> stop(); // arrêter l'anim > > mettre un point d'arrêt aux lignes : > - image 1 : ligne 2 > - image 2 : lignes 4 et 6 > - image 3 : ligne 1 > > lancer l'anim. > le mcDetail devient cliquable dès l'image 2. > normal. en cliquant dessus on rentre bien dans > la fonction et là il devrait *revenir* à l'image 1 > de par le gotoAndPlay(1) mais *non* ! il continue > le script ! et quel que soit le numéro de l'image > dans le "gotoAndPlay", c'est ignoré et le script > continue linéairement ! il suffit juste de faire > du pas à pas pour le voir ! > > C'est un bug clairement identifiable.
hummm c'est pas un bug, c'est la maniere de se comporter du player si tu utilises this.gotoAndPlay (comme une methode donc) ce "bug" ne devrait pas apparaitre
voir ici pour une plus longue discussion sur un probleme similaire entre "this.stop()" et "stop()"
> Je pense que tu n'as pas compris l'objectif. Je comprends parfaitement le principe de this.gotoAndPlay mais dans ce cas ça aurait été l'objet lui-même (donc mcDetail) et pas le movie clip principal qui aurait été à l'image 1. Moi, je voulais faire aller le clip principal à l'image 1 sans passer par des appels horribles tels que "_level0." ou encore "_root" !
oui bah sans ces appels "horribles" comme tu le dis ton gotoAndPlay est compris comme une action et non pas une methode
libre a toi de te creer des bugs tout seul
> Je pense que tu n'as pas compris l'objectif.
Je comprends parfaitement le principe de
this.gotoAndPlay mais dans ce cas
ça aurait été l'objet lui-même (donc mcDetail)
et pas le movie clip principal qui aurait été
à l'image 1. Moi, je voulais faire aller
le clip principal à l'image 1 sans passer
par des appels horribles tels que "_level0."
ou encore "_root" !
oui bah sans ces appels "horribles" comme tu le dis
ton gotoAndPlay est compris comme une action et non pas une methode
> Je pense que tu n'as pas compris l'objectif. Je comprends parfaitement le principe de this.gotoAndPlay mais dans ce cas ça aurait été l'objet lui-même (donc mcDetail) et pas le movie clip principal qui aurait été à l'image 1. Moi, je voulais faire aller le clip principal à l'image 1 sans passer par des appels horribles tels que "_level0." ou encore "_root" !
oui bah sans ces appels "horribles" comme tu le dis ton gotoAndPlay est compris comme une action et non pas une methode