Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Баг - Двойной клик накладывается на на другие события (http://www.flasher.ru/forum/showthread.php?t=181501)

dkart01 25.06.2012 16:53

Баг - Двойной клик накладывается на на другие события
 
Вложений: 3
Добрый день.
Во многострадальной флешке с многоэтажкой, если быстро кликать на все этажи (как бы делать двойной клик с проводкой), то некоторые этажи "залипают". Если после провести "пролететь" мышкой без кликов сверху до низу, все убирается.

Задумывалось, что при наведении этаж подсвечивается, при клике происходит действие, при отводе мышки подсветка убирается.

Основные функции ответственные за подсветку этажей находятся во 2 кадре внизу. Этажи - это нарисованные мувиклипы в векторном редакторе.

Исходник прилагаю.

1) Чем может быть вызван данный баг и какие решения могут быть.
(есть мысль при нажатии на мышку в цикле обнулять все этажи, вторая мысль запоминать последний нажатый и при нажатии на новый этаж, предыдущий контрольным выстрелом делать невидимым)

2) Структура флешки, которая должна представлять собой дом, который можно покрутить, представляет собой
большой нижний слой с 36 кадрами дома (в примере для уменьшения исходника они вырезаны) и action script 2. Хотел бы узнать вашего совета по структурной оптимизации. Может вынести эти 36 кадров в отдельную swf, тогда ролик будет компилиться легче?

Отдельное спасибо Hauts и mooncar.

Hauts 25.06.2012 17:33

Навскидку:
Код AS1/AS2:

btn.onRollOut = btn.onDragOut = mykOnRollout;

В 55-ой строке.

1. Это не баг, а нормальное поведение. Если зажать курсором мувиклип и удерживая кнопку мыши увести курсор за пределы мувиклипа, возникнет событие onDragOut, но не onRollOut.

2. Относительно порядка в исходнике — туда бы нормальный прелодер поставить и вынести все скрипты в самый верхний слой, без графики. Чтобы не искать кадры по всем слоям, в которых код прописан.

А, вот еще почитайте :)

dkart01 25.06.2012 17:36

Сработало!)))

mooncar 25.06.2012 21:35

dkart01, на будущее. Воздержитесь задавать по нескольку вопросов. На форуме золотое правило: одна тема - один вопрос.

dkart01 26.06.2012 10:41

Понял. Простите


Часовой пояс GMT +4, время: 18:12.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.