![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Nov 2006
Адрес: *.kh.ua
Сообщений: 19
|
Вопрос заключается вот в чём.
1. Допустим, у нас имеется MovieClip. Мы присваиваем его экземпляру имя mc. 2. В него мы из библиотеки может добавить экземпляр какого-то другого мувиклипа, присвоив ему InstanceName = "l1" (по номеру уровня). 3. В этот l1 можно добавить экземпляр третьего мувиклипа из библиотеки, присвоив этому экземпляру имя "l2". 4. В l3 помещается ещё один экземпляр и называется l3. Таким образом, для того, чтобы заставить ролик l3 проигрываться с метки под названием "play_l3", нужен следующий код: Это работает для всех мувиклипов, но что касается кнопок (символов типа Button), здесь ситуация немного другая. 1. Создаём кнопку. Называем её "btn". В кадр "Up" добавляем экземпляр мувиклипа из библиотеки, называем его l1. 2. В l1 добавляем ещё один экземпляр, называем его l2. 3. В l2 добавляем ещё один экземпляр, называем его l3. Значит для того, чтобы запустить анимацию с метки "play_l3" нужен соответственно код Но данный код не работает, трассировка показывает, что _level0.btn.l1.l2.l3 не определён, а путь до l3 выглядит следующим образом: Вопрос заключается в том, почему Флеш использоват для l2 автоматическое именование (сгенерированное название "instance2"), и не воспользовался заданным вручную значением "l2"? В мувиклипах такой проблемы нет, а вот при большой вложенности мувиклипов в кнопках она встречается постоянно. Можно, конечно, в дебаггере посмотреть автоматически просвоенное название экземпляра и обращаться к l3 следующим образом: Но, кроме того, что такой подход очень неудобен для восприятия, он вносит существенную проблему, которая заключается в том, что при добавлении в ролик экземпляров мувиклипов без названия (которым Флеш автоматически просвоит имена), instance2 может уже оказаться, скажем, instancе5 и далее в том же духе... Что это такое с именованием экземпляров в кнопках и как с этим можно бороться? |
|
|||||
|
Banned
[+1 21.02.08]
[+4 21.02.08] [+5 13.03.08] [+4 13.03.08] Регистрация: Feb 2008
Сообщений: 63
|
не,переопределять инстансы - это головняк.Лучше всегда использовать MovieClip.
|
|
|||||
|
Регистрация: Nov 2006
Адрес: *.kh.ua
Сообщений: 19
|
Дело в том, что мне нужно было получить возможность корректно перехватывать событие, когда пользователь наводит мышь на ролик и убирает её с него. В MovieClip'ах событие on (rollOver) далеко не всегда вызывалось (если быстро двигать курсором над мувиком, оно практически не вызывается), а вот у Button'ов оно вызывается всегда. Вот по какой причины я решил уйти от MovieClip'ов с человеческим именованием instance'ов к кнопкам. Да, с переопределением инстансов не очень весело получается...
Но можно и с ним помучиться, всё-таки проблема с instance на такая серьёзная, как проблема с не вызвающимся onRollOver в мувиках...Спасибо за совет. Сам не понимаю, как я вчера до этого не додумался! ![]() Последний раз редактировалось iNils; 22.02.2008 в 15:48. |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
Цитата:
|
|
|||||
|
Регистрация: Nov 2006
Адрес: *.kh.ua
Сообщений: 19
|
Цитата:
|
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
А вы зря мучаетесь с этим. Обычные текстовые ссылки в html, ведут себя точно также. Поэтому если ваша кнопка имеет нормальные размеры, чтобы по ней можно было попасть со скоростью много выше обычной скорости перемещения мыши, то пользователь делает это сознательно и это неопадание лежит на его совести.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 02:48. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|