Форум 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)
-   -   Вопрос о Listener (http://www.flasher.ru/forum/showthread.php?t=175747)

Маруська 23.02.2012 11:42

Вопрос о Listener
 
Нашла эту тему, но так ничего и не поняла http://www.flasher.ru/forum/showthread.php?t=98137
Код AS1/AS2:

var mouseListener:Object = new Object();
        mouseListener.onMouseMove = _root.mouse_func;

назначает какой-то абстрактный new object для реакции на действия мышью. А мне нужно назначить мои объекты из массива. как это осуществить?

Код AS1/AS2:

function snow_func() {
        l =6;
          var r:String =""+ Int(Math.random()*l+1 );
          varTarget = _root.attachMovie("snow_mc"+r ,"snow"+_root.getNextHighestDepth()+"_mc"+r, _root.getNextHighestDepth());
          //вот тут назначить
        mouseListener.onMouseMove = _root.mouse_func;
        varTarget.onEnterFrame = _root.move_func;
}


попробовала сделать так
Код AS1/AS2:

function snow_func() {
        l =6;
          var r:String =""+ Int(Math.random()*l+1 );
          varTarget = _root.attachMovie("snow_mc"+r ,"snow"+_root.getNextHighestDepth()+"_mc"+r, _root.getNextHighestDepth());
          //вот тут назначить
        var mouseListener:MovieClip = this;;
        mouseListener.onMouseMove = _root.mouse_func;
        Mouse.addListener(mouseListener);
        varTarget.onEnterFrame = _root.move_func;
}

но тоже не работает

а когда делаю так:
Код AS1/AS2:

var mouseListener:MovieClip = varTarget;
        mouseListener.onMouseMove = _root.mouse_func;
        Mouse.addListener(mouseListener);

Начинает притормаживать при движении мышью и тоже ничего не делает
Как это сделать? подскажите, пожалуйста

udaaff 23.02.2012 15:17

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

Маруська 23.02.2012 15:53

Вложений: 1
эхъ.. никто не понимает женскую логику.
Есть шарики, подгружаемые массивом.
Есть прицел, на который нужно заменять курсор при наведении на шарик.

Вложение 27635

FlashRus 24.02.2012 02:43

Выводите ваши шарики и на каждый шарик (либо на контейнер с шариками) вешаете MOUSE_OVER и MOUSE_OUT.

при mouseOver меняете курсор на прицел
при mouseOut меняете обратно.

mooncar 24.02.2012 02:52

FlashRus, не то, это раздел AS1/AS2.

FlashRus 24.02.2012 03:57

Цитата:

Сообщение от mooncar (Сообщение 1065068)
FlashRus, не то, это раздел AS1/AS2.

ой... ёлки палки.... Извиняюсь

Маруська 25.02.2012 15:08

так никто ничего путного и не подсказал =(

alex_195 25.02.2012 16:27

Это пример работы слушателя для одного клипа(кнопки).
Код AS1/AS2:

//в библиотеке клип с id 'kursor';
//mc - клип на который наводится курсор мыши
var mouseListener:Object = new Object();
mouseListener.onMouseMove = function() {
        if (mc.hitTest(_xmouse, _ymouse)) {//если курсор наведён на клип mc
                Mouse.hide(); //сделать его невидимым
                _root.attachMovie('kursor', 'kursor', 2); //аттачить из библиотеки Ваш курсор
                kursor._x = _xmouse;
                kursor._y = _ymouse; //прицепить его к координатам курсора
        } else {
                Mouse.show(); //иначе курсор видимый
                kursor.removeMovieClip(); //Ваш курсор удалить
        }
};
Mouse.addListener(mouseListener);

В Вашем случае необходимо его применить для всех(что у Вас там) клипам или кнопкам.

etc 26.02.2012 14:33

В очередной раз задам вопрос: зачем вообще создавать mouseListener?

Маруська 27.02.2012 14:51

Цитата:

Сообщение от alex_195 (Сообщение 1065382)
Это пример работы слушателя для одного клипа(кнопки).
Код AS1/AS2:

//в библиотеке клип с id 'kursor';
//mc - клип на который наводится курсор мыши
var mouseListener:Object = new Object();
mouseListener.onMouseMove = function() {
        if (mc.hitTest(_xmouse, _ymouse)) {//если курсор наведён на клип mc
                Mouse.hide(); //сделать его невидимым
                _root.attachMovie('kursor', 'kursor', 2); //аттачить из библиотеки Ваш курсор
                kursor._x = _xmouse;
                kursor._y = _ymouse; //прицепить его к координатам курсора
        } else {
                Mouse.show(); //иначе курсор видимый
                kursor.removeMovieClip(); //Ваш курсор удалить
        }
};
Mouse.addListener(mouseListener);

В Вашем случае необходимо его применить для всех(что у Вас там) клипам или кнопкам.


мне явно не хватает мозгов и логики... не пойму, куда это лучше вставить.. хотя, куда ни вставляю - только хуже становится

Добавлено через 1 минуту
Цитата:

Сообщение от etc (Сообщение 1065619)
В очередной раз задам вопрос: зачем вообще создавать mouseListener?


В этой теме мы решили, что нужен listner
http://www.flasher.ru/forum/showthread.php?t=175662


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

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