Insérer un bouton dans un clip en AS3

badziz Messages postés 62 Date d'inscription jeudi 11 mai 2006 Statut Membre Dernière intervention 28 juin 2011 - 30 sept. 2008 à 22:24
artos10 Messages postés 3 Date d'inscription mardi 1 janvier 2008 Statut Membre Dernière intervention 23 février 2009 - 24 déc. 2008 à 11:17
Bonjour,
je souhaite insérer un bouton afin de fermer un clip. Je crée donc le bouton, ensuite le clip, j'insère le bouton dans le clip et ensuite je mets mon clip dans la scène.

Dans mon calque actionscript, je mets le code suivant:
function onClicAnimation(pEvt:Event):void
{
    animation.play();
}
btn_animation.addEventListener(MouseEvent.CLICK, onClicAnimation);

function onClicFermer(pEvt:Event):void
{
    animation.gotoAndStop(11);
}
animation.bouton.addEventListener(MouseEvent.CLICK, onClicFermer);

Et voila l'erreur que j'obtiens:
AVERTISSEMENT : les actions associées à un bouton ou les occurrences MovieClip ne sont pas prises en charge par ActionScript 3.0. Aucun script associé aux occurrences d'objets ne sera pris en compte.
TypeError: Error #1010: Un terme n'est pas défini et n'a pas de propriété.
    at preloader_perso_fla::MainTimeline/preloader_perso_fla::frame2()

Une idée?

9 réponses

on_drag_on Messages postés 1236 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 6 octobre 2010
30 sept. 2008 à 23:22
Salut,
D'abord tu nous dis que tu as un bouton, or dans le code que tu nous présente il y en a deux.
Si les deux se trouvent dans le clip animation alors le 1er ne vas pas fonctionner:
animation.btn_animation.addEventListener(MouseEvent.CLICK, onClicAnimation);
au lieu de:
btn_animation.addEventListener(MouseEvent.CLICK, onClicAnimation);
@+.
0
badziz Messages postés 62 Date d'inscription jeudi 11 mai 2006 Statut Membre Dernière intervention 28 juin 2011 1
1 oct. 2008 à 14:03
oui excuse moi j'ai oublié de mentionné que j'ai un bouton pour lancer le clip et ensuite il y a le fameux bouton "fermer" qui est dans le clip. C'est ce dernier qui ne fonctionne pas. Il devrait d'ailleurs changer de couleur lorsque le curseur passe dessus et il ne le fait pas.
0
on_drag_on Messages postés 1236 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 6 octobre 2010
1 oct. 2008 à 16:05
Tu as bien paramétré ton .fla en AS3? Tu as bien mis ton code sur l'image (et non sur le btn ou sur le clip) ?
0
badziz Messages postés 62 Date d'inscription jeudi 11 mai 2006 Statut Membre Dernière intervention 28 juin 2011 1
1 oct. 2008 à 19:15
oui il est bien en AS3.
le code est dans un calque séparé.
j'ai bien spécifié le nom du bouton et celui du clip...
le clip se lance bien mais le bouton n'est pas cliquable, et au survol pareil il devrait changer de couleur et ce n'est pas le cas.
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
1 oct. 2008 à 22:59
Ok,

1) Ouvres un nouveau doc fla AS3
2) Crées un bouton sur ta scène, nom d'occurrence: bouton
3) Crées un clip, nom d'occurrence: animation
-> image-clé à la frame 10 du clip avec une petite interpolation
4) Un calques au- dessus avec un bouton, nom d'occurrence: btn_animation
->image-clé à la frame 11
5) Reviens à la scène principale et:

function onClicAnimation(pEvt:Event):void
{
    animation.play();
}
btn_animation.addEventListener(MouseEvent.CLICK, onClicAnimation);

function onClicFermer(pEvt:Event):void
{
    animation.gotoAndStop(11);
}
animation.bouton.addEventListener(MouseEvent.CLICK, onClicFermer);

Ca doit fonctionner sinon ton problème vient d'ailleurs...

@+.
0
badziz Messages postés 62 Date d'inscription jeudi 11 mai 2006 Statut Membre Dernière intervention 28 juin 2011 1
3 oct. 2008 à 15:01
merci pour ton aide!
je suis parvenu à faire ce que tu as dis et maintenant lorsque je passe le curseur, la couleur du bouton change mais je ne peu toujours pas aller à la frame 11.

Si je mets le code dans la scène principal, j'obtiens cette erreur:
TypeError: Error #1009: Il est impossible d'accéder à la propriété ou à la méthode d'une référence d'objet nul.
    at preloader_perso_fla::MainTimeline/preloader_perso_fla::frame2()

Et si je mets le code dans le clip, il n'y a plus d'erreurs mais le bouton n'est pas cliquable.
J'ai tenté de remplacer le "gotoAndStop(11)" par "play()" mais pas de changements...
0
badziz Messages postés 62 Date d'inscription jeudi 11 mai 2006 Statut Membre Dernière intervention 28 juin 2011 1
3 oct. 2008 à 17:33
EDIT: si je fais un lien vers google.fr le bouton fonctionne par contre...
0
on_drag_on Messages postés 1236 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 6 octobre 2010
3 oct. 2008 à 17:51
Re,
Un exemple

@+.
0
artos10 Messages postés 3 Date d'inscription mardi 1 janvier 2008 Statut Membre Dernière intervention 23 février 2009
24 déc. 2008 à 11:17
Bonjour,

En fait moi j'ai un peu le même pb et je ne trouve pas de solutions...
Je debute en AS3 perso je trouve ca moins claire que AS2.
En fait je voudrais faire fonctionner un bouton qui est DANS un clip
occurence du bouton : btnpres
Dans le clip à la dernière image lorsqu'il s'est lu, je tape :

function onClic(pEvt:Event):void
    {
            trace("Clic sur le bouton");
      }
      btnpres.addEventListener(MouseEvent.CLICK, onClic);

this.stop();

et la le message de sortie m'affiche :
 TypeError: Error #1009: Il est impossible d'accéder à la propriété ou à la méthode d'une référence d'objet nul.
    at Sansnom_fla::rouleau_1/frame35()

en revanche lorsque je place le bouton sur la scène le bouton fonctionne et m'affiche le trace.
Voila, j'ai esseillé avec des trucs comme .root ou .parent mais ca ne marche pas....

Si quelqun à une solution, je le remercie d'avance.
0
Rejoignez-nous