Как мне получить кнопки Flash CS4 для направления пользователя на другой URL? - PullRequest
1 голос
/ 01 июня 2010

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

Мой код ActionScript находится внизу этого сообщения. Я создал его, используя инструкции с сайта Adobe: http://help.adobe.com/en_US/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7fd7.html

Я полагаю, что все мои объекты установлены на правильный тип символа (кнопка), и все мои экземпляры названы соответствующим образом (см. Скриншот здесь: www.footprintsfamilyphoto.com/wp-content/themes/Footprints/images /flash_buttonissue.jpg)

Скрипт действий здесь. Дайте мне знать, если у вас есть предложения! (Примечание: я очень новичок во Flash):

stop ();


function babieschildren(event:MouseEvent):void 
{ 
    trace("babies children method was called!!!");
    var targetURL:URLRequest = new URLRequest("http://www.footprintsfamilyphoto.com/portfolio/babies-children"); 
    navigateToURL(targetURL, "_self"); 
}

bc_btn1.addEventListener(MouseEvent.CLICK, babieschildren);
bc_btn2.addEventListener(MouseEvent.CLICK, babieschildren);


function families(event:MouseEvent):void 
{ 
    trace("families method was called!!!");
    var targetURL:URLRequest = new URLRequest("http://www.footprintsfamilyphoto.com/portfolio/families"); 
    navigateToURL(targetURL, "_self"); 
}

f_btn1.addEventListener(MouseEvent.CLICK, families);
f_btn2.addEventListener(MouseEvent.CLICK, families);


function couplesweddings(event:MouseEvent):void 
{ 
    trace("couples weddings method was called!!!");
    var targetURL:URLRequest = new URLRequest("http://www.footprintsfamilyphoto.com/portfolio/couples-weddings"); 
    navigateToURL(targetURL, "_self"); 
}

cw_btn1.addEventListener(MouseEvent.CLICK, couplesweddings);
cw_btn2.addEventListener(MouseEvent.CLICK, couplesweddings);

Дополнительное описание файла Flash - файл представляет собой анимацию продолжительностью около 5 секунд, которая должна останавливаться на последнем кадре. Последний кадр содержит 6 кнопок, которые должны перенаправить пользователя на 3 разные страницы сайта. См. Ссылку на снимок экрана выше.


Хорошо, я попробовал еще пару вещей, я изменил функцию «семейства» на «fams», так как по какой-то причине он говорил мне, что это дублирующая функция. Это решило проблему зацикливания (файл зацикливался, а не останавливался на кадре, где расположены эти кнопки, и я получал ошибки компиляции о функции семейств - «определение дублирующейся функции» и «переопределение несовместимого» - я довольно уверен, не дублирующая функция, так как это единственный сценарий действия, который у меня есть во всем этом файле ...).

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

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

Может кто-нибудь дать мне знать, что это значит?

Я проверил и перепроверил все имена кнопок (и имена экземпляров), они все там, прямо в том же кадре, что и скрипт действия (кадр 133), так что это не должно вызывать 1009.

Также просто удалили каждую функцию и добавили addEventListener по одному и протестировали фильм, но ошибка 1009 сохранилась во всех 3 случаях. Я не получаю ошибку 1009, если я удаляю весь код, кроме "stop ();" и проверить фильм.


Примечание: я открыл новый, более конкретный вопрос об ошибке 1009 здесь: stackoverflow.com/questions/2948119/flash-buttons-dont-work-typeerror-error-1009-cannot-access-a-property-or-met

1 Ответ

1 голос
/ 01 июня 2010

Ваш код выглядит нормально. Добавьте операторы trace в методы, чтобы они действительно вызывались. Также проверьте наличие блокировщиков всплывающих окон; когда вы вызываете navigateToURL без второго параметра, Flash попытается создать новое окно для открытия URL-адреса. К сожалению, для нас, разработчиков (и, к счастью для пользователей), большинство блокировщиков всплывающих окон будут препятствовать это случилось. Добавьте второй параметр в ваши вызовы и посмотрите, работает ли он.

navigateToURL(targetURL, "_self"); 

Обратите внимание, что это приведет к загрузке нового URL-адреса в текущем окне / вкладке, фактически заменив страницу с вашим SWF

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