Форум 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)
-   -   onRelease для вложенных клипов (http://www.flasher.ru/forum/showthread.php?t=72476)

Chilly 27.11.2005 22:00

onRelease для вложенных клипов
 
Помогите пожалуйста, не знаю как сделать. Есть ScrollPane, его контентом является клип1. На этот контентный клип1 установлен еще один клип2.И надо сделать такое:
Код:

f=1;
if (f == 1) {
        ScrollP.spContentHolder.onRelease = function() {
                trace("action1");
        };
} else {
        ScrollP.content["03000"].onRelease = function() {
                trace("x="+sp.content["03000"]._x);
        };
}

Т.е. надо при одном значении f реагировать на нажатие клипа1, а при другом - клипа2.
Но суть в том, что если изменить f прямо во время выполнения программы , то ничего не произойдет. Программа будет работать так, как будто f всегда 1. f я меняю правильно, проблема именно в событиях onRelease. :mad:

Antares 27.11.2005 22:42

Надо сделать f локальной переменной для мувиклипа content (а это именно мувиклип), либо пользоваться хиттестом и техникой ручной передачи событий вглубь:

В находится в А. При вызове события onRelease у А мы руками вызываем его у В, добавляя, если надо, что-то еще. Неудобно, но не смертельно.

Chilly 27.11.2005 23:17

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

Antares 27.11.2005 23:53

Когда просят так, можно (хотя я не сторонник поставки нубам сжатых зип папок).

1. Делаем два мувиклипа, foo и bar внутри него. foo при этом начнет перехватывать события onRelease, точнее, не будет "пропускать их вглубь".
2.
Код:

foo.onRelease = function()
{
    trace("Событие для foo");
    if(this.bar.hitTest(_xmouse, _ymouse, true)) this.bar.onRelease();
}

bar.onRelease = function()
{
    trace("Событие для bar");
}



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

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