CLIP BUTTON

choinet Messages postés 89 Date d'inscription mardi 8 février 2005 Statut Membre Dernière intervention 3 novembre 2008 - 19 mars 2008 à 11:07
krapotto Messages postés 2 Date d'inscription dimanche 24 février 2008 Statut Membre Dernière intervention 5 juin 2011 - 5 juin 2011 à 17:14
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/46109-clip-button

krapotto Messages postés 2 Date d'inscription dimanche 24 février 2008 Statut Membre Dernière intervention 5 juin 2011
5 juin 2011 à 17:14
ça devait juste être parce que je n'avais pas encore crée les différents boutons qui déclenchent la mémé action, sur ma scène... si ça peut en aider certains, n'oubliez pas de le créer avant de coller le code :

buttonMode = true; // survol->main

//import flash.event.MouseEvent ;
btn_psy.addEventListener( MouseEvent.CLICK, myHandler );
btn_eth.addEventListener( MouseEvent.CLICK, myHandler );

function myHandler( pEvt:MouseEvent ):void{
trace("cliqué");
pEvt.currentTarget.gotoAndStop(currentFrame+1);
}
krapotto Messages postés 2 Date d'inscription dimanche 24 février 2008 Statut Membre Dernière intervention 5 juin 2011
5 juin 2011 à 16:55
Bonjour, je me permet de revenir sur votre discussion bien que des années plus tard. Je comprend bien les séquences AS3, c'est propre... céanmoins, pourquoi est-ce que quand j'essaye de l'appliquer, le TRACE fonctionne bien, mais le gotoAndStop n'agit pas... comme si je ne m'adressais pas à "this" ou "target" ou le clip qu'on clique quoi...
trace(MovieClip(pEvt.target)); me renvoie [object MovieClip] ... une idée ??
MERCI
annebasaille Messages postés 14 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 28 janvier 2011
12 juin 2008 à 14:41
éh ouaip !
J'ai même pas eu le temps d'attaquer l'AS3 que je suis retombée au niveau 1 !
On peut pas être partout tout le temps ...........
annebasaille Messages postés 14 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 28 janvier 2011
12 juin 2008 à 14:30
on (release) {
_root.gotoAndPlay(10);
}

à mettre sur ton bouton entrée.
Pas _parent
cs_dockys Messages postés 24 Date d'inscription lundi 3 janvier 2005 Statut Membre Dernière intervention 23 septembre 2008
24 mars 2008 à 15:57
the winner is !!!!!!!!!!!!!

il n'y a pas chacun sa méthode !!!!!!!!!!!!!
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
24 mars 2008 à 14:14
non, moi je laisse tomber, j'ai vraiment autre-chose à foutre que de corriger des gars qui vont rester à l'as2 ... 'y a bien plus mieux à apprendre de mon côté en as3 ...

Peg'

Pour une fois que je suis pas à la traîne ...
top30 Messages postés 1158 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 6 août 2010
24 mars 2008 à 14:06
Ben on est pas sorti de l'auberge !
J'arrive mëme plus à savoir si faut vous corriger ou pas...

1/ Mettre une source qui selon les commentaires, ne fonctionnerait pas bien, est plus une demande de contribution que une contribution par elle-même.

2/ Qu'il faille se mettre à l'AS3 est un fait.

3/ Importer les packages utiliser n'a jamais et ne sera jamais une "tare". Bien au contraire. Il est préféreable de le faire. Même si FlashCS3 dans son environements à des import implicites de packages (Event,MouseEvent,MovieClip, etc...). Tu ne sais jamais ce qu'il en deviendra plutard.... C'est une bonne habitude.

4/ Les codes précités ne fonctionneront qu'avec des MOVIECLIP et des SPRITES. Rien d'autre contrairement à ce que tu as dis Pegasse. Les autres types d'objet "display" n'ayant pas de timeline et donc une seule et unique frame.

Donc le code AS3 correcte est :

import flash.event.MouseEvent ;
myButton.addEventListener( MouseEvent.CLICK, myHandler );
function myHandler( $e:MouseEvent ):void{
var myClip :MovieClip= MovieClip($e.target) ;
myClip.gotoAndStop(10) ;
}


Mais je suis sur que malgrès tout cela... Certain voudront encore avoir le dernier mot....
= )
cs_MADenigma Messages postés 48 Date d'inscription jeudi 1 décembre 2005 Statut Membre Dernière intervention 6 septembre 2010
24 mars 2008 à 08:50
très intéressant tout ça !
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
22 mars 2008 à 19:42
l'import est utile uniquement si tu crées une classe, sinon il ne sert à rien ... enlève-le et tu verras que Flash 9 ne râle pas.

Peg'
cs_mymy33 Messages postés 15 Date d'inscription vendredi 7 décembre 2007 Statut Membre Dernière intervention 22 mars 2008
22 mars 2008 à 11:47
Salut à tous, merci pour vos commentaires , désolé si pour certains çà n'a pas plu... mais je débute sur flash, je veux juste comprendrecar quand on a l'envie d'apprendre , rien ne nous arrête ^^

Sachez que lorsque j'ai posté le fla, j'ai bien précisé que c'est suite aux problèmes non résolus sur les posts/forum.

Donc pour expliquer à nouveau, à la demande de plusieurs , j'ai mis ce fla à DL afin qu'ils puissent me guider.

Soyez indulgent avec moi, je ne demande qu'a comprendre...

merci à tous ceux qui m'aident, car c'est grâce à eux que l'on avance, et c'est grâce à eux que notre imagination est sans fin ^^

merci pour tout.@bientot
cs_dockys Messages postés 24 Date d'inscription lundi 3 janvier 2005 Statut Membre Dernière intervention 23 septembre 2008
22 mars 2008 à 11:38
Pourquoi enlevé import flash.events.MouseEvent;
C'est la que ca coince !!!!
Merci pour tes lumières Peg
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
21 mars 2008 à 19:25
c'est certain qu'avec ton première commentaire sur cette "source", tu es bien placé pour savoir de quoi tu parles ... mais au final as-tu au moins compris les raisons pour lesquelles j'ai modifié ton code ?

Peg'
cs_dockys Messages postés 24 Date d'inscription lundi 3 janvier 2005 Statut Membre Dernière intervention 23 septembre 2008
21 mars 2008 à 16:35
oui bien vu cheval ailé tu doit être toulousain ,je sens l'accent du sud dans tes propos un air de superiorité!! mdr.
en tout cas ton script est parfait."bravo bravo"
Mais de toute façon vu ton caractère et des commentaires dans d'autres posts,tu souhaites en permanence avoir le dernier alors no comment.
je te donne ma bénediction !!!!!.
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
21 mars 2008 à 15:15
je peux même ajouter que l'import et les "this" sont inutiles ... si tu veux faire ton code de façon correcte et sans aucun "restes" d'as2, tu fais :

leBouton.addEventListener(MouseEvent.CLICK,onClick);
function onClick(event:MouseEvent):void{
event.target.gotoAndPlay(event.target.currentFrame + 10);
}

et comme ça ta fonction marche avec n'importe quel objet graphique sur lequel tu auras collé un listener.

On peut faire de l'AS3, mais en faire correctement, c'est mieux ;)

peg'
cs_alise Messages postés 2203 Date d'inscription lundi 12 juillet 2004 Statut Membre Dernière intervention 26 janvier 2010
21 mars 2008 à 08:22
Merci pour ton script en AS3, pas de problèmes Dockys
cs_dockys Messages postés 24 Date d'inscription lundi 3 janvier 2005 Statut Membre Dernière intervention 23 septembre 2008
21 mars 2008 à 04:06
Salut Alise
Voila l'exemple

import flash.events.MouseEvent;
leBouton.addEventListener(MouseEvent.CLICK,le_bouton_clique);

function le_bouton_clique(event:MouseEvent):void{
trace ("le bouton a bien été cliqué");
this.gotoAndPlay(this.currentFrame + 10);
}

et sans rancune j'espère au plaisir de te revoir!!!
cs_alise Messages postés 2203 Date d'inscription lundi 12 juillet 2004 Statut Membre Dernière intervention 26 janvier 2010
20 mars 2008 à 20:30
Hé Dockys
encore pas mal d'entre nous en sont encore en AS2 et le resterons, il faut aussi arreter, tu critiques et tu ne donnes même pas un exemple de code !
Trop facile !
Ok pour le code sur les clips, alors on donne au moins un exemple de code sur le scénario.

leBouton.onRelease = function() {
this.gotoAndPlay(10);
}
cs_dockys Messages postés 24 Date d'inscription lundi 3 janvier 2005 Statut Membre Dernière intervention 23 septembre 2008
20 mars 2008 à 16:30
0 sur 10
j'ai pas pu mettre 0 alors je mets 1
et les gars il faut arrêter de coder en flash 5
on(release) est deprecié depuis des lustres.

On est maintenant en AS3
alors ca suffit les delires de coder comme il y a 10 ans
Remettez vous à la page........................
C'était mon coup de gueule de fin de soirée...
désolé.
cs_MADenigma Messages postés 48 Date d'inscription jeudi 1 décembre 2005 Statut Membre Dernière intervention 6 septembre 2010
20 mars 2008 à 09:27
c'est sa contribution, rien de plus Choinet !
Le niveau est bien mentionné : Débutant et pour un débutant cette source vaut beaucoup plus que pour un expérimenté.
choinet Messages postés 89 Date d'inscription mardi 8 février 2005 Statut Membre Dernière intervention 3 novembre 2008
19 mars 2008 à 11:07
Salut,
pour ton problème le gotoAndPlay est mal appelé.
remplace ton code sur le bouton "entrer" par celui-là:

on (release) {
_parent._parent.gotoAndPlay(10);
}

ceci dit, je ne comprends pas pourquoi tu poste une source comme celle-là. Qu'apporte t'elle aux internautes?
Rejoignez-nous