Проблемы построения системы навигации по Flash-сайту с использованием Actionscript 3 - PullRequest
0 голосов
/ 16 декабря 2011

Я пытаюсь создать функциональную панель навигации для веб-сайта, созданного во Flash, с помощью Actionscript 3.0. Когда я иду, чтобы запустить файл .swf, я могу нормально перейти от «Дома» к «О», но тогда он не позволит мне вернуться в «Дом» из фрейма «О программе». Я предполагаю, что из-за этой ошибки компилятора, которая продолжает появляться:

Ошибка типа: ошибка # 1009: невозможно получить доступ к свойству или методу ссылки на пустой объект. at website_fla :: MainTimeline / frame1 ()

Вот как я настроил каждую страницу в моей временной шкале:

(Screencap временной шкалы) https://lh5.googleusercontent.com/-2HFs2WIAohc/TutwoDIE0sI/AAAAAAAAAW4/t1oBnXgQLJE/s594/timeline.png

Это код ActionScript, который я до сих пор кодировал:

stop();
btnHome.addEventListener (MouseEvent.CLICK, showHome)
function showHome (e:MouseEvent) {
    this.gotoAndStop("home");
}
btnAbout.addEventListener (MouseEvent.CLICK, showAbout)
function showAbout (e:MouseEvent) {
    this.gotoAndStop("about");
}

btnGallery.addEventListener (MouseEvent.CLICK, showGallery)
function showGallery (e:MouseEvent) {
    this.gotoAndStop("gallery");
}

btnMenu.addEventListener (MouseEvent.CLICK, showMenu)
function showMenu (e:MouseEvent) {
    this.gotoAndStop("menu");
}

btnContact.addEventListener (MouseEvent.CLICK, showContact)
function showContact (e:MouseEvent) {
    this.gotoAndStop("contact");
}


btnHome2.addEventListener (MouseEvent.CLICK, showHome2)
function showHome2 (e:MouseEvent) {
    this.gotoAndStop("home");
}
btnAbout2.addEventListener (MouseEvent.CLICK, showAbout2)
function showAbout2 (e:MouseEvent) {
    this.gotoAndStop("about");
}

btnGallery2.addEventListener (MouseEvent.CLICK, showGallery2)
function showGallery2 (e:MouseEvent) {
    this.gotoAndStop(30);
}

btnMenu2.addEventListener (MouseEvent.CLICK, showMenu2)
function showMenu2 (e:MouseEvent) {
    this.gotoAndStop("menu");
}

btnContact2.addEventListener (MouseEvent.CLICK, showContact2)
function showContact2 (e:MouseEvent) {
    this.gotoAndStop("contact");
}

btnHome2, btnAbout2 и т. Д. - это имена всех экземпляров, которые я дал кнопкам во фрейме About (начальный кадр 20).

Может кто-нибудь сказать мне, почему я получаю эту ошибку и почему мои навигационные кнопки не будут перемещаться вперед и назад на каждую "страницу", как обычная навигационная система?

Я посмотрел эту ошибку в Google, но в моем случае это не имеет смысла. Кадр 1 на главной временной шкале четко назван - он не должен работать?

Помощь будет принята с благодарностью. Спасибо!

1 Ответ

0 голосов
/ 16 декабря 2011

Ваша программа выдает ошибку, потому что ваш скрипт находится в кадре 1, а ваши кнопки в кадре 20 - вы пытаетесь добавить функциональность к чему-то, чего еще нет (пока). Убедитесь, что все имена ваших экземпляров доступны к тому времени, когда вы добавляете прослушиватели событий, и кнопки должны работать - хотя по многим причинам не стоит реализовывать навигацию по сайту таким способом.

Если вы хотите знать , почему это плохая практика , чтобы узнать, как делать вещи более надежным и многократно используемым способом, и если вы хотите узнать об объектно-ориентированном программировании, ознакомьтесь с этот урок .

...