Форум 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=140322)

In8Finity 26.05.2010 16:22

Переход к кадру по нажатию кнопки
 
Вложений: 1
Не работает. :(
Ошибка 1120: Access of undefined property key_startgame.
А key_startgame - это у меня не переменная никакая, а вообще кнопка, лежащая на сцене.

Код AS3:

package {
 
 
        import flash.display.*;
        import flash.events.MouseEvent;
 
        public class MainClass extends MovieClip {
 
 
 
                public function MainClass() {
 
                        trace("start");
                        key_startgame.addEventListener(MouseEvent.CLICK, SG, false, 0, true);
                }
 
 
                private function SG(evt:MouseEvent):void {
                        gotoAndStop(4);
                }
 
        }
}

Там ещё прелоадер у меня... Если закомментить строку со слушателем нажатия на эту кнопку - прелоадер работает нормально. А если раскомментить - сразу ошибка и скакать по кадрам начинает.
Не могу понять в чём причина. Подскажите.

На всякий случай присоединяю исходник.

Dweem 26.05.2010 17:45

key_startgame отсутствует в MainClass там вообще по сути ничего нету ...
key_startgame у вас лежит в Preloader...
положите key_startgame в MainClass а уже его в Preloader..
и из MainClass по нажатию мыши обращайтесь к Preloader чтобы сменить кадр

In8Finity 26.05.2010 18:32

Я не совсем понял.
Цитата:

key_startgame отсутствует в MainClass там вообще по сути ничего нету ...
key_startgame у вас лежит в Preloader...
У меня три файла.
game.swf в который я на сцену вытянул из библиотеки кнопку и присвоил ей в Instance name имя "key_startgame"
И ещё два файла - просто скрипты.
Как понять, что key_startgame лежит в скрипте Preloader?

Dweem 26.05.2010 18:48

у тебя к game.swf присвоен класс Preloader, какому то символу в котором нет key_startgame, присвоен класс MainClass и этот символ отсутствует на таймлайне.
А ошибка вылетает потому, что в символе с классом MainClass нет этой самой кнопки...

In8Finity 26.05.2010 19:41

Спасибо большое. Вроде начал понимать.

Добавлено через 1 час 38 минут
Почти поборол.
Надеюсь, последний вопрос на эту тему.
Цитата:

и из MainClass по нажатию мыши обращайтесь к Preloader чтобы сменить кадр
Вот тут синтаксис не подскажите?
Если я обращаюсь так:
Код AS3:

                private function SG(evt:MouseEvent):void {
                        gotoAndStop(4);
                }

То это, насколько я понял, заставляет его перемещатся на 4-ый кадр внутри мувика MainClass. А как обратиться, чтобы он переместил кадр снаружи - на главном таймлайне?

tsarapkabel 27.05.2010 02:45

Так ведь MainClass и есть главный таймлайн, нэ?

In8Finity 27.05.2010 12:45

Не. Это меня тоже путает. MainClass - это помимо as-файла, ещё и муви-клип.

Dweem 27.05.2010 14:44

Вложений: 1
держи, ты видимо хотел это сделать именно так...

In8Finity 27.05.2010 15:01

Да. Спасибо огромное.


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

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