Устаревший код ActionScript, новый код для связи flash с pdf? - PullRequest
0 голосов
/ 21 июля 2011

Я использую Flash Pro. CS5 с ActionScript 3, и я никогда раньше не работал с flash, и я некоторое время искал способ сделать это, и я постоянно получаю синтаксические ошибки с этим кодом. Я видел, как кто-то задал похожий вопрос, а кто-то сказал, что код устарел, поэтому я могу только предположить, что мой выглядит очень похоже, что он также устарел. Из флеша я пытаюсь сделать кнопку, которая откроет файл PDF. Код, который у меня есть сейчас:

on(release){
    getURL("Index Dividers.pdf");
}

и моя синтаксическая ошибка продолжает говорить «ожидание точки с запятой перед левой скобкой». Как бы глупо это не звучало, я добавил точку с запятой перед левой скобкой, а затем одна ошибка превратилась в 3 ошибки, так что ничего не решило. Так кто-нибудь знает правильный код для открытия файла PDF? Это будет с благодарностью!

Ответы [ 2 ]

0 голосов
/ 21 июля 2011

getURL был заменен на navigateToURL, который работает, принимая объект URLRequest.В вашем случае это выглядит так:

navigateToURL(new URLRequest('Index Dividers.pdf'));

Что касается обработчика щелчков, вы больше не можете использовать нотацию on(ACTION), все теперь основано на событиях.Вам необходимо настроить прослушиватель на вашей цели и назначить функцию-обработчик, которая будет вызываться при возникновении события:

this.addEventListener(MouseEvent.CLICK,clickHandler);

function clickHandler(evt:MouseEvent):void
{
    navigateToURL(new URLRequest('Index Dividers.pdf'));
}

Еще немного о событиях:

Во-первых, событие.Событие может восприниматься как сообщение, которое объект передает, когда произошло действие.То, что мы используем здесь, это MouseEvent.CLICK.Это фактически разрешает строку «onClick», которая хранится в классе MouseEvent, но пока не беспокойтесь об этих деталях.Объект передает это событие, когда пользователь щелкает его мышью.Другие события мыши включают MouseEvent.MOUSE_OVER и MouseEvent.MOUSE_OUT.Существуют другие события для всех видов вещей, и вы даже можете создавать свои собственные.

Теперь слушатели.Чтобы узнать, когда событие было отправлено объектом, вы добавляете слушателя к этому объекту.Используя приведенный выше пример, мы разберем его:

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

(MouseEvent.CLICK, - это событие, которое вы хотите прослушать.

clickHandler); - этофункция, которая будет вызвана в результате обнаружения события.

Так что теперь все, что вам нужно, это функция, которую мы назвали обработчиком (второй параметр addEventListener. Эта функция должна принимать одинАргумент, объект события. Это ссылка на фактический экземпляр отправленного события, и поэтому для события мыши оно будет иметь тип MouseEvent. В приведенном выше примере мы не использовали этот объект, но у вас все еще должно быть это в объявлении функции, иначе Flash не скомпилируется.

0 голосов
/ 21 июля 2011

если вы измените свою версию ActionScript на Actionscript 2, все должно быть в порядке.

Для этого перейдите на file > Publish Settings > Flash > switch script version for 3 to 2

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