Forum de discussion
Forum « Flash et Shockwave » (archives)
Re: problème pour faire un bouton ds flash
Envoyé: 13 décembre 2004, 7h55 par toph
1 vue de nez, je dirais que tu n'as pas mis le code au bon endroit ...
En effet, avant de copier/coller ce code dans le panneau action, vérifie de bien avoir sélectionné ton bouton ...
Pour info, il y a deux types d'action sous flash : les actions "linéaires" (exécutées dès que la tête de lecture arrive sur une image; action du type : i = "coucou", ou encore if (a==b) {i++;} ou même monSon = new Sound(); ...) et il y a les actions "événementielles" (exécutées uniquement dans certaines circonstances telles un clic sur un bouton, une réception de données externes ou même simplement le déclenchement d'un timer).
Ces dernières sont du type "on(quelquechose)" (ici "on(release)"). Elles se traduisent par "quand ce quelquechose se passe, faire ce qui suit". Dans ton cas, tu as bien dis à flash que quand le bouton est relaché il doit créer le nouveau son et le jouer, mais tu lui as pas dit de quel bouton il s'agissait ...
Ce qui veut dire que ces actions doivent être rattachée à un objet précis (en terme technique on dirait "incluses dans son gestionnaire d'événements") ...
Pour cela, deux méthodes :
_ sélectionner le bouton pour faire apparaitre le gestionnaire d'événements dans le panneau action (méthode du débutant à éviter avec des anims trop compliquées, du moins, c'est mon avis...)
_ ou donner un nom d'instance à ton bouton (en bas à gauche dans le panneau propriété) par exemple, "toto" ... et remplacer (cette fois-ci sans sélectionner le bouton) le début de ton code "on(release){" par :
"toto.on(release) = function{"
(méthode plus pro selon moi). Ainsi, en spécifiant "toto" devant le on(release), tu annonce directement de quel bouton il s'agit, et tu n'as pas besoin de rentrer dans le gestionnaire d'événement puisque cela le fait automatiquement... ce sont les bases de la programmation objet :
monObjet.saFonctionAssociée = function{...}
Violà, j'espère avoir été suffisament clair... mais si tu as des questions, n'hésite pas...
A plus
Toph'
Réponses
|