Привет.
Button - один из типов символа.
У Button есть своя, удобная для настойки кнопки, временная шкала:
Здесь видно 4 кадра:
Button - один из типов символа.
У Button есть своя, удобная для настойки кнопки, временная шкала:
Здесь видно 4 кадра:
- Up - обычное состояние кнопки
- Over - мышь наведена на кнопку
- Down - кнопка нажата
- Hit - область наведения/нажатия на кнопку
В отличие от Movieclip, курсор автоматически изменяется на руку при наведении на кнопку.
К Button, как и к Movieclip, можно применять фильтры.
Ясное дело, Button нужно использовать когда его использовать удобнее, а Movieclip, когда удобнее использовать Movieclip. ( Спасибо, Кеп! )
То-есть почти во всех случаях, когда нужно создать кнопку, используем тип Button, а когда, например, нужно сделать кнопку-переключатель, которая по очереди меняет 2 картинки при нажатии, используем Movieclip.
Стоп-стоп-стоп. Мы же можем просто создать мувиклип в кнопке, назвать этот мувиклип как-нибудь, назвать кнопку и все - мы можем обращаться к мувиклипу в кнопке и менять его кадры!
А ВОТ И НЕТ! :)
Будет ошибка типа :
Scene 1, Layer 'Layer 1', Frame 1, Line 8 1119: Access of possibly undefined property somename through a reference with static type flash.display:SimpleButton.
А все почему?
Дело в том, что Button не унаследован от Movieclip. Сиволы типа Button - это экземпляры класса SimpleButton, который унаследован от InteractiveObject.
Дочерние элементы появились ( мувиклип внутри кнопки - это дочерний элемент ) только в классе DisplayObjectContainer.
Смотрите.
Ясное дело, Button нужно использовать когда его использовать удобнее, а Movieclip, когда удобнее использовать Movieclip. ( Спасибо, Кеп! )
То-есть почти во всех случаях, когда нужно создать кнопку, используем тип Button, а когда, например, нужно сделать кнопку-переключатель, которая по очереди меняет 2 картинки при нажатии, используем Movieclip.
Стоп-стоп-стоп. Мы же можем просто создать мувиклип в кнопке, назвать этот мувиклип как-нибудь, назвать кнопку и все - мы можем обращаться к мувиклипу в кнопке и менять его кадры!
А ВОТ И НЕТ! :)
Будет ошибка типа :
Scene 1, Layer 'Layer 1', Frame 1, Line 8 1119: Access of possibly undefined property somename through a reference with static type flash.display:SimpleButton.
А все почему?
Дело в том, что Button не унаследован от Movieclip. Сиволы типа Button - это экземпляры класса SimpleButton, который унаследован от InteractiveObject.
Дочерние элементы появились ( мувиклип внутри кнопки - это дочерний элемент ) только в классе DisplayObjectContainer.
Смотрите.
Наследование SimpleButton:
SimpleButton → InteractiveObject
→ DisplayObject
→ EventDispatcher
→ Object
Наследование MovieClip:
MovieClip → Sprite → DisplayObjectContainer → InteractiveObject → DisplayObject → EventDispatcher → Object
То-есть, если бы SimpleButton был унаследован от DisplayObjectContainer, то все бы получилось, а так придется использовать мувиклип.
Комментариев нет:
Отправить комментарий