Форум 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=103241)

_Nickromant_ 01.11.2007 13:00

Действие при нажатие на созданный клип
 
Создаю таким кодом меню
Код:

function left_menu_create() {
        _root.left_menu_up._y = 435;
        _global.left_bar_items_num = _global.all_info.firstChild.firstChild.childNodes[0].firstChild.nodeValue;
        _root.left_menu_up.title.text = _global.all_info.firstChild.firstChild.childNodes[1].firstChild.nodeValue;
        for (var i = 0; i != _global.left_bar_items_num; i++) {
                attachMovie("left_menu_item", "left_menu_item"+i, i, {_width:250, _height:40, _x:-125,
                                                    _y:_root.left_menu_up._y+_root.left_menu_up._height/2+i*40+20});
        }
        _root.left_menu_down._y += _global.left_bar_items_num*40;
}

На клипе left_menu_item (который в библиотеке) такой код:
Код:

stop();
this.onRollOver = function() {
        this.gotoAndPlay(2);
};
this.onRollOut = function() {
        this.gotoAndPlay(31);
};
this.onMouseDown = function() {
        trace(this)}

так почему же при rollOver и rollOut происходит анимация только 1 (нужного) left_menu_item, а при нажатии выводится

_level0.left_menu_item4
_level0.left_menu_item3
_level0.left_menu_item2
_level0.left_menu_item1
_level0.left_menu_item0

:eek: как так??

iNils 01.11.2007 17:22

onMouseDown замените на onPress

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

etc 01.11.2007 18:14

А писать миллиард раз _global.all_info.firstChild.firstChild.childNodes[0].firstChild.nodeValue не лень?

_Nickromant_ 01.11.2007 22:48

iNils Спасибо огромное, все работает. Я правельно понял если в будут есть и другие у которых на кадрее будет функция onMouseDown они тоже сработают, а если на сначало клип поместить на кадр мувика а потом навесить код то не сработают?
Цитата:

Код:

А писать миллиард раз _global.all_info.firstChild.firstChild.childNodes[0].firstChild.nodeValue не лень?

Код:

_global.all_info.firstChild.firstChild.childNodes[0].firstChild.nodeValue;
пишетсяя 1 раз за 1ну генерацию меню, там количество пунктов меню. Спасибоо за внимание.

udaaff 01.11.2007 22:55

Цитата:

Сообщение от _Nickromant_
iNils Спасибо огромное, все работает. Я правельно понял если в будут есть и другие у которых на кадрее будет функция onMouseDown они тоже сработают, а если на сначало клип поместить на кадр мувика а потом навесить код то не сработают?

onMouseDown будет вызвана у всех подписавшихся на это событие объектов.


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

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