2009-10-02 3 views
2

Cela peut être évident, mais ça fait longtemps que j'ai utilisé le flash. J'ai un objet dessiné en flash laisse dire une horloge. Lorsque l'on clique sur l'horloge, je veux animer les mains qui tournent.Bonne façon de faire animer un bouton flash lorsque vous cliquez dessus

Donc, est-ce que je crée l'horloge comme un bouton et appelle l'animation à l'état bas? Ou est-il préférable de créer un clip et de le faire agir comme un bouton? Atm J'utilise des écouteurs pour écouter les clics sur les objets et naviguer vers son animation dans le scénario principal. Si j'ai beaucoup d'objets, la ligne de temps principale va devenir énorme donc j'ai besoin d'un bon moyen de tout faire en MovieClips mais toujours être capable de cliquer dessus. J'utilise CS4 AS3

Merci

Répondre

2

Faire un MovieClip. Disons que votre nom d'instance pour l'horloge est "mcClock". Puisque nous accédons à la cible, vous pouvez utiliser le même gestionnaire de fonctions pour tous vos MovieClips.

mcClock.addEventListener(MouseEvent.CLICK, handleClickOnObject); 
mcClock.buttonMode = true; //to display hand cursor 
//easily use the same functon for another MovieClip 
mcClock2.addEventListener(MouseEvent.CLICK, handleClickOnObject); 

function handleClickOnObject(e:MouseEvent):void 
{ 
    e.target.play(); 
} 
+0

C'est une bonne idée, je me demandais comment obtenir la main pour apparaître après quelques expériences. Je vais essayer et voir comment je m'entends. Merci Allan – whamo

+0

Cela a bien fonctionné et a réduit ma taille de la timeline beaucoup. Sur certains objets que je reçois cette erreur quand ils sont cliqués: « ReferenceError: Erreur # 1069: Jeu propriété introuvable sur flash.display.SimpleButton » Avez-vous des idées pourquoi ce qui se passe? Merci – whamo

+0

Oui, c'est parce que vous appelez la fonction play() sur un SimpleButton. SimpleButtons n'a pas de fonction play() car ils n'héritent pas de MovieClip. http://help.adobe.com/fr_FR/AS3LCR/Flash_10.0/flash/display/SimpleButton.html Pour résoudre ce problème, créez des MovieClips (attention à la modification d'un bouton existant sur MovieClip car cela ne fonctionne pas). Copiez simplement votre contenu dans un nouveau MovieClip. – Allan

-1

Je dirais que différentes MovieClips pour état différent seront mieux que vous voudrez peut-être besoin d'autres États aussi (handicapés, survolés, Clicked etc ...). Un MovieClip différent à l'état différent vous aidera également à organiser votre code et sera beaucoup plus facile de modifier un MovieClip individuel plutôt que d'insérer et de supprimer plusieurs images dans le scénario.

Donc, ma suggestion est

-Faire standard ou bouton personnalisé -Mettre différents MovieClips pour les états différents (soit vous les échanger sur écouteur d'événement ou si le bouton par défaut, mettre sur le calendrier) animation -Ajouter dans les State MovieClips séparés.

Vous réutiliserez également la même animation pour plusieurs boutons de cette façon.

Questions connexes