Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   AS3+Buttons+#1009 (сил моих нету) (http://www.flasher.ru/forum/showthread.php?t=127528)

niks_13 15.07.2009 23:54

AS3+Buttons+#1009
 
Здравствуйте. Пришлось пересесть на AS3. Столкнулся с кучей траблов. ООП мне не дается, как бы с ним ни бился, поэтому прошу, помогите, кто сможет.
Есть 3 сцены. на каждой по 3 кнопки. 1ую кнопку рисовал сам, остальные отдублировал с помощью Duplicate. Суть в том, что по нажатии кнопки на 1й сцене должен быть переход на 2ую. Соответственно, при нажатии на кнопку во 2й сцене, должен быть переход на 3ю. На 3й по кнопке возврат на 1ую. Если рисовать кнопки просто из примитивов, то проблем никаких, а если как делаю я (Примитивы+текстура+PNG+Duplicate), то в итоге при переходе к 3й сцене (с 1й на 2ую переходит без проблем), переход на 3ю уже не работает.

Ошибка такая:
Код AS3:

TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
        at Basa3_fla::MainTimeline/frame2()
        at flash.display::MovieClip/gotoAndPlay()
        at Basa3_fla::MainTimeline/ButtonDown1()


Код для 1й сцены:
Код AS3:

stop();
 
stage.displayState = StageDisplayState.FULL_SCREEN;
 
mbt1.addEventListener(MouseEvent.CLICK, ButtonDown1);
 
function ButtonDown1(e:MouseEvent):void
{
        gotoAndPlay("1", "Scene 2");
}


Код для 2й сцены:

Код AS3:

stop();
 
mbt2.addEventListener(MouseEvent.CLICK, ButtonDown2);
 
function ButtonDown2(e:MouseEvent):void
{
        gotoAndPlay("1", "Scene 3");
}

Код 3й сцены:

Код AS3:

stop();
 
mbt3.addEventListener(MouseEvent.CLICK, ButtonDown3);
 
function ButtonDown3(e:MouseEvent):void
{
        gotoAndPlay("1", "Scene 1");
}


willis83 16.07.2009 00:33

вашу тему админу закроют, пока они не пришли бегите скорей и читайте правила форума, а потом редактируйте вашу тему

udaaff 16.07.2009 01:09

Проверьте имена кнопок (Instance Name)

niks_13 16.07.2009 01:19

Проверял несколько раз. Даже задавал Instance Name такие же, как соответствующие им Button. - бесполезно.

udaaff 16.07.2009 01:38

Ну тогда выкладывайте исходник.

niks_13 16.07.2009 01:53

Работаю в CS4 ver.10.0
http://***********/13122727

dimarik 16.07.2009 01:56

Исходник, однозначно. Пока еще не встречал "сцена + AS3". Очень хочется взглянуть.

оффтоп. кто знает, почему на нетбуке Asus eee pc 901 не работает PuntoSwitcher?

niks_13 16.07.2009 02:06

Что значит не встречали сцена+AS3 ?? Не понял. Это как?
Про Asus: взможно из-за нетбучной архитектуры клавиатуры. Она все-таки в разы меньше ноутовской и десктоповской не только из-за меньшего кол-ва пластика и текстолита, пущеных на её создание. Видать чего-то в ней урезано. Но могу и ошибаться.

marat_sa 16.07.2009 09:42

Сталкивался с такой же проблемой. В MovieClip при переходе на кадры, имеющие в себе инстансы с именами - эти инстансы null, и невозможно к ним обратиться.

Совет - уходите от сцен, MovieClip - только для анимации. Если вам нужно сменить сцену, то удаляйте текущую сцену, создавайте новую.
Сцены расширяют Sprite, реализуют общий интерфейс.

niks_13 16.07.2009 10:43

Movie Clip для анимации - согласен, а для кнопок Button, его я и использую. Я ж говорил, что если все тоже самое делать из примитива aka Четырёхугольник - 0 проблем.


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

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