![]() |
|
Модераторы: SoWa |
![]()
|
|
| Bruja21 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 17.3.2008 Репутация: нет Всего: нет |
Здраствуйте, я ньюбай во флеше. Если не затруднит, помогите пожалуйста разобраться с проблемой.
Есть массив из Мувиклипов и массив из кнопок. Все мувиклипы находяться на сцене в одном слое, массив из кнопок в другом слое. При наведении на один из МувиКлипов (onRollOver), мувиклипу присваеватся функция обработчик, которая инициализирует его, определяет первоначальные кординаты мувиклипа и т.д.,И, так же в этой функции имеются 2 другие функции onPress(изменяет кординаты МувиКлипа) и onRollOut (возвращает первоначальные кординаты Мувиклипа). При активизации ф-ции onPress через onEnterFrame начинает данный мувиклип изменять свои кординаты, а вместе и с ним изменяет кординаты привязаной к нему кнопки. Так вот проблема: активизация onRollOut (за пределами мувиклипа) срабатывает и тогда, когда я навожу на кнопку курсор мыши :( и тогда мувиклип изменяет кординаты на первоначальные, получается на кнопку могу нажать только в таком состоянии, а не в любой точке... код:
|
|||
|
||||
| tofsla |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 90 Регистрация: 17.5.2005 Где: Москва Репутация: 1 Всего: 1 |
а что должно происходить в результате, по нажатию на клип, он должен начать двигаться к центру вместе с кнопкой?
|
|||
|
||||
| Bruja21 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 17.3.2008 Репутация: нет Всего: нет |
да, он должен двигаться вместе с кнопкой.
И он даже двигается вместе с ней, но увы на кнопку можно нажать только когда клип находится на первоначальных координатах, а когда в движении, то при наведении курсора мыши он вызывает ф-цию onRollOut и как следствие этого... Знаю, что надо переделать саму структуру функции, правильный перебор элементов массива и присвоения только что выбранному элементу временный пустой объект с заданными функциями обработчиками... Но как это сделать, увы мозгов и опыта не хватает) Это сообщение отредактировал(а) Bruja21 - 17.3.2008, 17:21 |
|||
|
||||
| tofsla |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 90 Регистрация: 17.5.2005 Где: Москва Репутация: 1 Всего: 1 |
мне кажется, все должно быть гораздо проще
А еще кнопка попадает на картинку мувика? может быть сделать ему прозрачный фон, чтобы точно попадало? Это сообщение отредактировал(а) tofsla - 17.3.2008, 18:03 |
|||
|
||||
| Bruja21 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 17.3.2008 Репутация: нет Всего: нет |
да, сорри, вот работающий код, немного переделал. Но не хватает мозгов сделать правильно)
Добавлено через 2 минуты и 48 секунд а кнопка попадает, если будет у Вас время, вот исходинк для наглядности Присоединённый файл ( Кол-во скачиваний: 5 )
Bruja21_tmp1.zip 6,80 Kb |
|||
|
||||
| tofsla |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 90 Регистрация: 17.5.2005 Где: Москва Репутация: 1 Всего: 1 |
Тогда можно вместо события rollout использовать проверку hitTest -- находится ли мышка внутри клипа:
Это сообщение отредактировал(а) tofsla - 17.3.2008, 21:10 |
|||
|
||||
| Bruja21 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 17.3.2008 Репутация: нет Всего: нет |
Огромное Вам спасибо! Я не знал о такой проверке и додуматься ... - практики и знаний мало, Вы мой Гуру, ещё раз спасибо!)
|
|||
|
||||
| Bruja21 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 17.3.2008 Репутация: нет Всего: нет |
А не подскажете, как эти две функции обработчики присвоить каждому отдельному элементу массива, а не только "0"-му... Я просто не знаю как это сделать через цикл, пробывал разными способами, не получается.
В любом случае спасибо. |
|||
|
||||
| tofsla |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 90 Регистрация: 17.5.2005 Где: Москва Репутация: 1 Всего: 1 |
вот так:
только функции объявить как функции, а не как переменные: вместо
так:
и вторую также |
||||||
|
|||||||
| Bruja21 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 17.3.2008 Репутация: нет Всего: нет |
брр что-то не понимаю, вот я сделал так, и не работает:
|
|||
|
||||
| tofsla |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 90 Регистрация: 17.5.2005 Где: Москва Репутация: 1 Всего: 1 |
Правильно, я тормоззз, stopMove же не знает кто такой this и начальные координаты надо было сохранить
Это сообщение отредактировал(а) tofsla - 18.3.2008, 17:29 |
|||
|
||||
| Bruja21 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 17.3.2008 Репутация: нет Всего: нет |
спасибо за терпение, всё работает теперь как часики
|
|||
|
||||
![]()
|
| Правила форума "Flash" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, AlDev, SoWa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | ActionScript 1,2 | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |