Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Повторное нажатие на кнопку (http://www.flasher.ru/forum/showthread.php?t=176635)

Vladimir991 14.03.2012 22:14

Повторное нажатие на кнопку
 
Здравствуйте. Подскажите пожалуйста, как избавиться от такой ошибки: Создал кнопку и курсор на фоне фото. При нажатии на кнопку, открывается другой фон, вроде все как надо, но при повторном нажатии на туже кнопку, курсор, а точнее его копия остается на кнопке.

udaaff 14.03.2012 22:19

Экстрасенсы в отпуске.

Vladimir991 14.03.2012 23:07

Код AS3:

//код курсора
stage.addChild(mouse);
mouse.mouseEnabled = false;
mouse.addEventListener(Event.ENTER_FRAME, fl_CustomMouseCursor);
 
function fl_CustomMouseCursor(event:Event)
{
        mouse.x = stage.mouseX;
        mouse.y = stage.mouseY;
}
Mouse.hide();
 
 
//код перехода, при нажатии на кнопку
stop();
uslugi_btn.addEventListener(MouseEvent.CLICK,OnClickHome);
 
function OnClickHome(e:MouseEvent):void
{
        gotoAndPlay("home");
        gotoAndStop("mouse");
}


Inet_PC 15.03.2012 00:00

Вы добавить добавляете, а удалять кто будет?
Код AS3:

//код курсора
stage.addChild(mouse);
mouse.mouseEnabled = false;
mouse.addEventListener(Event.ENTER_FRAME, fl_CustomMouseCursor);
 
function fl_CustomMouseCursor(event:Event)
{
        mouse.x = stage.mouseX;
        mouse.y = stage.mouseY;
}
Mouse.hide();
 
 
//код перехода, при нажатии на кнопку
stop();
uslugi_btn.addEventListener(MouseEvent.CLICK,OnClickHome);
 
function OnClickHome(e:MouseEvent):void
{
        uslugi_btn.removeEventListener(MouseEvent.CLICK, OnClickHome);
        mouse.removeEventListener(Event.ENTER_FRAME, fl_CustomMouseCursor);
        if (mouse.parent) mouse.parent.removeChild(mouse);
        Mouse.show();
        gotoAndPlay("home");
        gotoAndStop("mouse");
}

P.S. Методы нужно называть с маленькой буквы.
P.S.2 Нужно как можно скорей перестать писать в кадрах, половина проблем (а может и больше) решаться сами собой.

udaaff 15.03.2012 00:08

Курсор логичнее по событию mouseMove позиционировать.

Vladimir991 15.03.2012 08:58

Inet_PC спасибо огромное за помощь. Код работает. Внесите ясность в неясность пожалуйста. Курсор анимированный и при использовании кода, который Вы мне написали, работает все окей, но курсор меняется с анимированного на обыкновенный. Где искать?

Inet_PC 15.03.2012 10:39

Цитата:

но курсор меняется с анимированного на обыкновенный.
Тоесть? Вместо Вашего появляется обычная стрелочка? Или Ваш перестает анимироваться?
Если первое то закоментируйте две строчки:
Код AS3:

mouse.removeEventListener(Event.ENTER_FRAME, fl_CustomMouseCursor);
        if (mouse.parent) mouse.parent.removeChild(mouse);

А если второе, то хз. И еще по идее вот эта строчка ничего не дает.
Код AS3:

gotoAndPlay("home");


Vladimir991 15.03.2012 19:20

Да, именно с анимированного превращается в обычную стрелочку, а так всё замечательно работает. Я так понял, что искать нужно в методе Mouse.show(); или я не там ищу. Направьте пожалуйста в нужном направлении.


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

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