Форум 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)
-   -   вопрос на тему attach наверное, или hitArea.. (http://www.flasher.ru/forum/showthread.php?t=119536)

dima_kiv 23.12.2008 15:24

вопрос на тему attach наверное, или hitArea..
 
на сцене есть clip1.
Код AS1/AS2:

clip1.onRollOver = function() {
        attachMovie("clip2","clip2",1);
        clip2._x=100;
}
clip1.onRollOut = function() {
        clip2.onEnterFrame = function (){
                if(clip2._alpha >0){
                        clip2._alpha -=10;
                  }
                  else {
                        clip2._alpha = 0;
                              delete this.onEnterFrame;
                  }
          }
}

clip2 представляет собой несколько кнопок, которые являются ссылками, но при попытке нажать на любую кнопку срабатывает событие на onRollOut

не могу никак разобраться как сделать так, чтобы можно было по этому меню нажимать.

может что упустил, подскажите. спасибо.

zzz_dmg 23.12.2008 15:50

ну если по простому (я думаю что есть как-то иначе - я не знаток)). то в clip1 делаешь два кадра. на первом только твоя кнопка, а на втором твоя кнопка и под ней прозрачная фигура (по форме - твоя кнопка и доп.меню). в первом кадре стоп. и в код
Код:

clip1.onRollOver = function() {
        attachMovie("clip2","clip2",1);
        clip2._x=100;
        _root.clip1.gotoAndStop(2);
}
clip1.onRollOut = function() {
        clip2.onEnterFrame = function (){
                if(clip2._alpha >0){
                        clip2._alpha -=10;
                        _root.clip1.gotoAndStop(1);
                  }
                  else {
                        clip2._alpha = 0;
                              delete this.onEnterFrame;
                  }
          }
}


silin 23.12.2008 15:51

оно и должно срабатывать: когда мы наводим мышь на clip2, с clip1 она же уходит..
как вариант можно эту ситуацию отслеживать и не делать ничего в этом случае:
Код AS1/AS2:

clip1.onRollOut = function() {
        if(clip2.hitTest(_root._xmouse, _root._ymouse, true)) return;
 
        clip2.onEnterFrame = function (){
                if(clip2._alpha >0){
                        clip2._alpha -=10;
                  }
                  else {
                        clip2._alpha = 0;
                              delete this.onEnterFrame;
                  }
          }
}


dima_kiv 23.12.2008 17:06

zzz_dmg, silin спасибо...


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

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