Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   ошибка 1009 (http://www.flasher.ru/forum/showthread.php?t=131911)

amigomos 30.10.2009 22:28

ошибка 1009
 
Здравствуйте. у меня такая проблема. Есть флэш роли в котором много символов и кнопок и все они в разных кадрах. Написал AS3 код в котором кнопки должны совершать определенные действия(переход и т.д.) но так как кнопки многие в дальних (от начала ролика) кадрах,редактор ругаеться что нет кнопки ... как мне решить эту проблему?Напишу маленький пробный пример(кнопки в разных слоях и разных кадрах...
Код AS1/AS2:

package 
{
    import flash.events.MouseEvent;
    import flash.display.DisplayObject;
    import flash.display.MovieClip;
    import flash.display.SimpleButton;
 
    public class Proba extends MovieClip
    {
        public var knopkr:SimpleButton;
                public var knop:SimpleButton;
    public function Proba():void
        {
                        knop.addEventListener(MouseEvent.CLICK, btnClickHandler);
                        knopkr.addEventListener(MouseEvent.CLICK, btnClickHandlerkr);
                }
                public function btnClickHandler(evt:MouseEvent):void
                {
                        trace("нажал кнопку СТОП");
                        this.stop();
 
                }
                public function btnClickHandlerkr(evt:MouseEvent):void
                {
                        trace("нажал кнопку PLAY");
                        this.gotoAndPlay(5);
                }
        }
}


MrPoma 30.10.2009 23:14

Код AS3:

public function Proba():void 
{
        this.knop = new SimpleButton();
        this.knopkr = new SimpleButton();
        this.knop.addEventListener(MouseEvent.CLICK, this.btnClickHandler);
        this.knopkr.addEventListener(MouseEvent.CLICK, this.btnClickHandlerkr);
}


Felicast 31.10.2009 00:04

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

про вот это
Цитата:

но так как кнопки многие и дальних ,от начала ролика, кадрах,редактор ругаеться что не кнопку
могу сказать только то, что пока текущим не станет тот кадр, на котором находятся кнопки (и на котором установлен инстанс), кнопки будут недоступны. что у вас скорее всего и происходит. есть 2 выхода:
- делать, чтобы все кнопки находились в 1-м кадре (и во всех остальных) и менять их прозрачность
- дожидаться когда наступит нужный кадр, и только там делать
Код AS3:

knop.addEventListener(MouseEvent.CLICK, btnClickHandler);
knopkr.addEventListener(MouseEvent.CLICK, btnClickHandlerkr);

UPD: ах да чуть не забыл, называйте тему поинформативнее. как я уже упоминал, ошибка 1009 самая распространенная и возникает в абсолютно разных ситуациях (когда вы пытаетесь обратиться к тому чего нет)

amigomos 31.10.2009 04:42

MrPoma с вашим кодом ошибка 1009 исчезла, но почему то кнопки перестали реагировать на нажатия.

Felicast 31.10.2009 12:23

Цитата:

MrPoma с вашим кодом ошибка 1009 исчезла, но почему то кнопки перестали реагировать на нажатия.
amigomos, вам же в соседнем топике объяснили, почему так происходит.
постом выше я объяснил как обойти эту ошибку и как сделать правильно.
то, что написал MrPoma, вам не подойдет

amigomos 31.10.2009 13:48

Felicast . Я все понял,ваше предложение для меня не удобно... но видемо таков Flash и AS3 и придеться ставить кнопки невидимые в первых кадрах и потом менять их видимость. Просьба для участников форума - Если кто то знает еще способы решения моей проблеммы, подскажите пожалуйста :-)


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

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