Форум 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)
-   -   Подскажите что я не так делаю: Mouse.addListener(XXT) (http://www.flasher.ru/forum/showthread.php?t=151047)

dark256 21.02.2011 20:58

Подскажите что я не так делаю: Mouse.addListener(XXT)
 
Есть два пользовательских курсора, каждый на два состояния - показать, действие.
Есть две кнопки, которые вешают на мышь один из этих курсоров.

Код AS1/AS2:

        angelBTN.onRelease = function()
        {       
                        // Настраиваем курсор MAINPATH.GUI.CURS2
                Mouse.hide()
                Mouse.removeListener( MAINPATH.RESTOR.mouseListener )
 
                var XXT = MAINPATH.RESTOR.mouseListener = new Object()
 
                XXT.onMouseDown = XXT.onMouseUp = function() {
                        MAINPATH.GUI.CURS2.mOPEN._visible = !MAINPATH.GUI.CURS2.mOPEN._visible
                        MAINPATH.GUI.CURS2.mCLOSE._visible = !MAINPATH.GUI.CURS2.mCLOSE._visible       
                }                                               
                MAINPATH.GUI.CURS2.startDrag( true )
                Mouse.addListener(XXT);       
        }
 
            demonBTN.onRelease = function()
            {
                        //тоже самое для MAINPATH.GUI.CURS
            }

Содержимое MAINPATH.RESTOR постоянно подгружается и обновляется. Целиком.
Так вот ПЕРИОДИЧЕСКИ и непонятно почему, клип подгрузился, по кнопке кликнул, курсор включился мой юзерский, но XXT.onMouseDown, XXT.onMouseUp перестает обрабатываться.
Причем по кнопке можно 10 раз кликнуть - нормально, на 11й - листенер куда-то уходит.

Что я не так? Или листенер надо объявить один раз где-нибудь в осн теле программы и не париться с этими добавить-убавить?

mooncar 21.02.2011 21:11

dark, если что-то новое загружаешь в MAINPATH.RESTOR с помощью MCL, то все переменные, заданные свойства и функции стираются.
Вообще, я обычно включаю одного слушателя где-нибудь в начале и не парюсь. Иногда, если слушатель сложный, ресурсоемкий или если проект предполагает множество слушателей, тогда делаю доьбавление / удаление.

А по твоему коду, я бы и обработчика onMouseDown не определял внутри другого обработчика. Назначил бы ссылкой - да.

dark256 21.02.2011 21:14

Да я вот понимаю что он ВСЕ затирает. Поэтому создаю заново... нда... хм.... ну в общем видимо, да не стоит париться. Сделаю глобальным... чтоб им всем пусто было....
Просто интересно на чем оно в данном случае спотыкается. вот :)


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

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