2009-10-02 2 views
2

Это может быть очевидно, но прошло столько времени, как я использовал флеш. У меня есть объект, нарисованный во флэш-памяти, скажем, часы. Когда часы нажимаются, я хочу оживить руки, вращающиеся вокруг.Хороший способ сделать анимированную кнопку вспышки, когда нажата

Так я создаю часы в качестве кнопки и вызываю анимацию в состоянии «вниз»? Или лучше создать клип и заставить его действовать как кнопка? Atm Я использую слушателей для прослушивания кликов по объектам и перехода к его анимации на основной временной шкале. Если у меня много объектов, основная временная шкала будет огромной, поэтому мне нужен хороший способ сделать все в мувиклипах, но все равно можно щелкнуть их. Я использую CS4 AS3

Благодарности

ответ

2

Сделать это MovieClip. Допустим, ваше имя экземпляра для часов - «mcClock». Поскольку мы обращаемся к цели, вы можете использовать один и тот же обработчик функций для всех ваших клипов.

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

Thats great info, мне было интересно, как получить руку, чтобы появиться после некоторых экспериментов. Я дам вам понять, как я лажу. Спасибо Allan – whamo

+0

Это хорошо работает и значительно сократило мой размер временной шкалы. На некоторых объектах я получаю эту ошибку при нажатии: "ReferenceError: Ошибка # 1069: Игра с использованием свойства не найдена на flash.display.SimpleButton" У вас есть идеи, почему это происходит? Спасибо – whamo

+0

yep, это потому, что вы вызываете функцию play() на SimpleButton. У SimpleButtons нет функции play(), поскольку они не наследуются от MovieClip. http://help.adobe.com/en_US/AS3LCR/Flash_10.0/flash/display/SimpleButton.html Чтобы исправить это, сделайте их MovieClips (будьте осторожны, чтобы изменить существующую кнопку на MovieClip, поскольку это не работает). Просто скопируйте свое содержимое в новый MovieClip. – Allan

-1

Я бы сказал, разные MovieClips для различных состояния будет лучше, так как вы можете нуждаться в некоторых других государств также (Disabled, парили, щелкнул и т.д ...). Различные MovieClip в разных состояниях также помогут вам организовать ваш код и будут намного проще изменять отдельные состояния MovieClip, а не вставлять и удалять несколько кадров на временной шкале.

Итак, мое предложение

-Сделать стандарт или пользовательские кнопки -Положи различные MovieClips для различных состояний (либо вы поменять их на слушателе событий или если кнопка по умолчанию, поставить на временной шкале) -Добавить анимации в тех отдельные государственные клики.

Вы также можете повторно использовать одну и ту же анимацию для нескольких кнопок таким образом.