![]() |
|
||||||||||
|
|||||
|
Регистрация: Jul 2009
Сообщений: 22
|
Здравствуйте! Столкнулся с непонятной проблемой.
У меня есть объект типа button. На событие on (release) есть сценарий. Все нормально работает. Но если кликнуть по этой кнопке во время движения (то есть передвигаем курсор мыши и когда курсор над кнопкой, кликаем, не останавливая передвижение), то приложение попросту зависает... не могу понять в чем причина. Можно было бы на это не обратить внимание, но такое случается, если пользователь быстро кликает по разным кнопка, находящимся в разных частях приложения. Может кто сталкивался с этим?
__________________
В любой откомпилированной программе есть, по крайней мере, одна ошибка. P.S. А у меня их минимум две. |
|
|||||
|
Последний раз редактировалось KiL33; 28.09.2009 в 14:50. |
|
|||||
|
Регистрация: Mar 2009
Сообщений: 207
|
Хм. И что будет? Одинаковая реакция на rollOut и release?
|
|
|||||
|
Модрон-ветеринар
|
Замечаю нечто подобное. Насколько я понимаю, это может быть как-то связано с особенностями установки фокуса.
|
|
|||||
|
Регистрация: Jul 2009
Сообщений: 22
|
Еще заметил, такое же поведение с кнопкой у которой enabled = false.. тут уж я совсем в шоке..
__________________
В любой откомпилированной программе есть, по крайней мере, одна ошибка. P.S. А у меня их минимум две. |
|
|||||
|
Модрон-ветеринар
|
У вас чистый эксперимент? То ест сцена пуста от еще чего либо? Попробуйте создать новый файл, вставить ваши кнопки туда и повторить.
|
|
|||||
|
Регистрация: Jul 2009
Сообщений: 22
|
странно.. в пустом не могу повторить, в моем же на каждой кнопке такой баг.. вот один из простейших сценариев на одной из кнопок.
on (press) { this.xDown = this._xmouse; this.yDown = this._ymouse; } on (release) { if (_global.loadedMAP && (this._xmouse == this.xDown && this._ymouse == this.yDown)) { if (_root["panel_layer"] == NULL || _root["panel_layer"]._currentframe == 0) { _root.attachMovie("newpanel", "panel_layer", _global.maxdepth + 1, {_x:1120, _y:378}); } else { if(_root["panel_layer"]._currentframe == 41) { _root.Reverse_MovieClip("panel_layer"); } } } } xDown и yDown - мои эксперементы обойти данный баг, но увы - они оказались бесполезны =) P.S. Более точно определил баг - навожу курсор на кнопку, нажимаю ЛКМ, отвожу за пределы кнопки и отпускаю ЛКМ и приложение виснет.
__________________
В любой откомпилированной программе есть, по крайней мере, одна ошибка. P.S. А у меня их минимум две. Последний раз редактировалось Yami; 29.09.2009 в 08:35. |
|
|||||
|
Модрон-ветеринар
|
Цитата:
И кстати, не пишите код на самих кнопках. Попробуйте убрать все действия с onRelease, сделайте только trace. А с самими кнопками у вас ничего не происходит? Они не скрываются, динамически никак не показываются? Последний раз редактировалось mooncar; 29.09.2009 в 15:51. |
|
|||||
|
Регистрация: Jul 2009
Сообщений: 22
|
Эм.. спасибо всем. Проблему решил, причина была в кривости рук =)
В моем проекте с зажатой ЛКМ есть возможность перемещать слои, но, если произвести действия описанные выше, когда слои не подгружены листенер срабатывал над кнопками тоже, и это вызывало ступор у приложения, т.к. перемещать нечего, а перемещение вызывалось. P.S. Тему можно закрывать
__________________
В любой откомпилированной программе есть, по крайней мере, одна ошибка. P.S. А у меня их минимум две. Последний раз редактировалось Yami; 04.10.2009 в 18:10. |
![]() |
![]() |
Часовой пояс GMT +4, время: 21:59. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| баг , курсор , мышь |
|
|