![]() |
|
||||||||||
|
|||||
|
Регистрация: Aug 2010
Сообщений: 4
|
Доброго времени суток, не пинайте пожалуйста за может глупый вопрос...
Давно имел дело с флэшем, но еще макромедиевский когда он был... и вроде все получалось, а сейчас попросили сделать баннер, скачал CS5 (английскую версию), и жесть, программирование одно... с созданием баннера вроде разобрался, вспомнил что-то... но вот ссылку сделать оказалось не простой задачей... пробовал создать кнопку, в ней action вообще не действуют (In ActionScript 3.0, code cannot be placed directly on objects. Please select a frame or use the Code Snippets panel to apply code to the current selection on stage), сделал прозрачный прямоугольник на весь баннер, и на отдельном layer в основной scene его поместил над всем остальным... дальше полазив по форуму пытался несколькими вариантами, сначала: var url: String = 'http://www.url.ru'; link.addEventListener(MouseEvent.MOUSE_UP, goToURL); function goToURL(e:MouseEvent) { var request:URLRequest = new URLRequest(); request.url = url; navigateToURL(request); } 1151: A conflict exists with definition url in namespace internal. и 1021: Duplicate function definition. вобще не работает, при компиляции выдает ошибки 1119: Access of possibly underfined property onRelease through a reference with static type flash.display:SimpleButton. и 1180: Call to a possibly underfined method getURL. Чёж так муторно всё стало, элементарную ссылку чтобы сделать надо программированию обучаться? Помогите пожалуйста, подскажите что в action прописать чтобы щелкая мышкой по кнопке на url переходить, и чтобы при этом можно было несколько раз этот код использовать в одной scene... Последний раз редактировалось iNils; 06.08.2010 в 11:42. |
|
|||||
|
Баннеры надо делать в AS2. Но если вам сказали сделать на AS3 то сделайте так:
var url1:String = 'http://www.url.ru'; var url2:String = 'http://www.ur22.ru'; var url3:String = 'http://www.ur333.ru'; link.addEventListener(MouseEvent.MOUSE_UP, goToURL); function goToURL(e:MouseEvent) { if (currentFrame == 14) { navigateToURL(new URLRequest(url1)); } else if (currentFrame == 20) { navigateToURL(new URLRequest(url2)); } else if (currentFrame == 2) { navigateToURL(new URLRequest(url3)); } } |
|
|||||
//на сцене клипы-кнопки b1,b2,b3 //клик в любой точке флешки stage.addEventListener(MouseEvent.CLICK,goURL); function goURL(e:MouseEvent) { //смотрим по какому клипу пришелся этот клик //и заносим его в переменную var target = MovieClip(e.target); //и в зависимости от имени, переходим на нужный адрес switch (target) { case b1 : navigateToURL(new URLRequest("http://www.brackenwood.net")); trace("b1") break; case b2 : navigateToURL(new URLRequest("http://www.autodesk.com")); break; case b3 : navigateToURL(new URLRequest("http://www.adobe.com")); break; } } Последний раз редактировалось samana; 05.08.2010 в 12:05. Причина: по причине |
|
|||||
|
Мой пример подойдет если кнопка link находится на всех кадрах. И URL адрес меняется в зависимости от кадра. А если в разных кадрах разные кнопки, то подойдет пример samana.
|
|
|||||
|
Регистрация: Aug 2010
Сообщений: 4
|
Спасибо огромное!
Но толи лыжи не едут, толи что то я не так делаю... попробовал оба способа, ошибок при компилировании нету, палец на беннере есть (типа кликабелен), но кликаю и ничего не происходит (не переходит на урл)... В варианте TWETTI я вот думаю может изза того что currentFrame == указывает на определенный фрейм, а я при частоте 24 в секунду просто не попадаю по нужному... может как то нужно прописать множество фреймов (1-30 пробовал, но не так видно)?И ещё вопрос, чем отличается AS2, в нем проще программирование или сама прога будет с упрощенным интерфейсом? На самом деле мне не принципиально AS3 или AS2, просто начал уже в AS3 делать... до этого в макромедии конечно проще всё было, мышкой кликай, прописывай параметры и всё, а теперь что то одно программирование... |
|
|||||
|
На AS2 легче и быстрее писать легкие программы. Например баннеры и шапки.
Кинь исходник я посмотрю. |
|
|||||
|
Регистрация: Aug 2010
Сообщений: 4
|
Цитата:
![]() Ну да собственно и ладно, я понял, действительно ссылка в коде из вашего примера работает только в тех фреймах которые прописаны в currentFrame ==, не подскажите как правильно (синтаксис) туда прописать множество (от x до y)?... |
|
|||||
|
|
|
|||||
|
Регистрация: Aug 2010
Сообщений: 4
|
Спасибо огромнейшее!!!
всё работает... |
|
|||||
|
Регистрация: Feb 2007
Сообщений: 563
|
Цитата:
|
![]() |
![]() |
Часовой пояс GMT +4, время: 22:35. |
|
|
« Предыдущая тема | Следующая тема » |
|
|