Может кто-нибудь помочь мне с динамическими заголовками страниц в ActionScript 3, пожалуйста? - PullRequest
0 голосов
/ 30 августа 2009

HELP! Как бы я исправить этот ActionScript 3.0, чтобы он создавал заголовок динамической страницы для каждой страницы? Я новичок в ActionScript 3.0 и пытаюсь сгенерировать заголовок страницы, используя динамический текст для каждой страницы. У меня есть четыре страницы на моем сайте, и вот сценарий действий, который у меня есть:

stop ()
function createTitle (whichpage:String) {
pageTitle.text = whichpage;
};
var page:String="theres no place like home";
createTitle (page);

function btn1Press (MouseEvent) {
gotoAndStop (1);
}

function btn2Press (MouseEvent) {
gotoAndStop (10);
}

function btn3Press (MouseEvent) {
gotoAndStop (20);
}

function btn4Press (MouseEvent) {
gotoAndStop (30);
}

btn1Press.addEventListener (MouseEvent.CLICK, Home);
btn2Press.addEventListener (MouseEvent.CLICK, Services);
btn3Press.addEventListener (MouseEvent.CLICK, About);
btn4Press.addEventListener (MouseEvent.CLICK, Contact);

stop();


1,10,20,30 represent the frames that each page is on

Четыре кнопки навигации настроены следующим образом:

btn1Press = Home Page (Instance name "Home")
btn2Press = Services Page (Instance name "Services")
btn3Press= About Page (Instance name "About")
btn4Press=Contact Page (Instance name "Contact")

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

page = "услуги"; createTitle (page); стоп ();

page = "about"; createTitle (page); stop ();

page = "контакт"; createTitle (page); stop ();

Я очень расстроен этим, и любая помощь будет ОЧЕНЬ крутой!

Я получаю сообщение об ошибке # 1061 о неопределенных функциях

Так что я думаю, что лучший способ задать мой вопрос:

У меня есть четырехстраничный сайт во Flash CS4, страница 1 начинается с кадра 1, страница 2 начинается с кадра 10, страница 3 начинается с кадра 20, а страница 4 начинается с кадра 30. Есть четыре кнопки навигации, которые я преобразовал на кнопку символов. Как я должен называть каждую кнопку, и как я должен называть экземпляр каждой кнопки? Какой код нужно добавить на панель действий, чтобы кнопки навигации работали правильно, и чтобы в динамическом текстовом поле отображался заголовок, относящийся к той странице, на которой он находится («Добро пожаловать на домашнюю страницу», «Добро пожаловать»). на страницу "О нас" и т. д.)

Спасибо за вашу помощь + терпение, я нахожу это все довольно запутанным. (

Ответы [ 2 ]

1 голос
/ 30 августа 2009

Звучит так, будто вы хотите динамически изменять заголовок HTML на странице изнутри Flex при переключении представлений во Flex. Единственный способ сделать это - через JavaScript, вызываемый из Flex. Было бы что-то вроде этого:

FLEX

public function setTitle(title:String):void {
if (ExternalInterface.available) {
    ExternalInterface.call("setTitle", title);
}
}

JAVASCRIPT

    function setTitle(t){
document.title.innerText = t;
}
0 голосов
/ 30 августа 2009

Я думаю, что самая большая проблема в том, что вы присоединяете слушатели событий к функциям, а не к функциям-обработчикам событий к кнопкам. Эти строки в конце вашего первого блока, вероятно, должны выглядеть следующим образом:

homeBtn.addEventListener (MouseEvent.CLICK, btn1Press);

Или вместо этого во Flash есть страница свойств для кнопок, к которой можно прикрепить обработчик «Click» для этой кнопки.

Вы должны попробовать Flex Builder. То, что вы строите здесь, действительно похоже на то, что должно быть построено во Flex, а не во Flash. Во Flex есть много приятных переходов и тому подобное, и в Flash Professional легко что-то встроить и добавить в проект Flex. Это решит большинство ваших проблем с стилем и организацией.

В этом коде есть много других недостатков, не все из которых смертельны, просто ужасны:

  • В AS, как и в JS, точки с запятой в конце операторов являются необязательными, но все равно стоит добавить их. (Строка 1, «stop ()».)

  • Вы заново изобрели БЕЙСИК в стиле 1980-х годов, дополненный "GOTO LINE". Переключение на Flex - это один из способов улучшить ваш стиль кода, поскольку Flex Builder применяет множество правил хорошего стиля. Если вам нужно придерживаться только Flash Professional, возможно, есть шаблоны проектирования Flash, чтобы избежать этого и в этой среде. Получите книгу о разработке Flash для AS3. Я уверен, что вы найдете там много хороших советов по стилю.

  • То же самое с пронумерованными элементами управления, только это приводит вас к VisualBasic для начинающих. Например, btn1Press () должно называться как homeButtonPressed (). Через год вам нужно будет щелкнуть по всей среде разработки Flash, чтобы выяснить, что такое «btn1». Если вы вызываете кнопку и вызываемые ею функции по их , что означает , у вас не возникнет этой проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...