Помощь · Поиск · Пользователи · Календарь
Полная версия этой страницы: Кнопки
Flash Zone Forum > Macromedia Flash > Начинающим
Gary
Здравствуйте еще раз уважаемые флешеры!)

Помогите пожалуйста дураку...)

Куда прописывать ссылку, чтобы при нажатии на кнопку переходить по этой самой ссылке.

объект, делаю его как кнопку, прописываю туда код:

on (release) {
getURL(_root.link1, "_blank");
}

куда здесь надо вставить ссылку на какой-либо сайт (для примера скажем: / - эту)?
скажите пожалуйста очень выручите...))
HaWK
Пишешь на кнопку:
Код
on (release) {
    getURL("http://flashzone.ru/ ");
}

Или пишешь в первый кадр:
Код
_root.имя_кнопки.onRelease = function() {
          getURL("http://flashzone.ru/ ");
}

Цитата
Помогите пожалуйста дураку...)

Хорош уже себя обзывать......

Gary
почему-то все равно не переходит...(((((
Но и ошибок никаких не пишет... пишет, что все верно...

А еще косяк((
когда я в swf встроил кнопки и присвоил им куда меня переправлять мне адоб плеер постоянно что-то выдает, и не отправляет... хотя сам файл проигрывает исправно...
chingachgoog
Цитата(Gary @ 10.08.2009 - 13:07) *
объект, делаю его как кнопку, прописываю туда код:

Код
on (release) {
getURL(_root.link1, "_blank");
}


куда здесь надо вставить ссылку на какой-либо сайт (для примера скажем: / - эту)?
скажите пожалуйста очень выручите...))


_root.link1- это переменная (строка) где хранится ссылка типа "/"
В эту переенную строка назначается (передается) из оболочки (извне, например, html-кодом интернет-страницы или через JS или еще как). Если вы делаете баннер, то прямо так и пишите: _root.link1 и более не паритесь - верстальщики баннерной сети все сами сделают.
Если это ваш собственный баннер НЕ ДЛЯ баннерной сети (т.е. подсчитывать клики не нужно), то пишите строку вместо переменной, т.е.:

Код
on (release) {
getURL("http://flashzone.ru/", "_blank");
}
Rotwang
Вспомнил, кстати. У меня похожая проблема.
Код
import flash.net.*;
var request:URLRequest = new URLRequest("http://flashzone.ru");
link.addEventListener(MouseEvent.CLICK, clickListener);
link.addEventListener(MouseEvent.MOUSE_OVER, overListener);
function overListener(e:MouseEvent):void{
    link.useHandCursor = true;
    link.buttonMode=true;
}

function clickListener(e:MouseEvent):void{
    
    navigateToURL(request, "_blank");
}


Когда делаю Test Movie - все в порядке. Но когда открываю полученную флешку просто из папки, где она лежит, получаю следующее:
Нажмите для просмотра прикрепленного файла
MustLive
Цитата
Когда делаю Test Movie - все в порядке. Но когда открываю полученную флешку просто из папки, где она лежит, получаю следующее:

Rotwang

Это срабатывает политика безопасности флеш плеера. Чтобы при локальном запуске флешки ты мог перейти на интернет ресурс, тебе нужно сделать соответствующие настройки в плеере (о чём и говорится в этом сообщении). Если ты будешь запускать данную флешку на веб сайте (или локальном веб сервере), то такого сообщения не будет (т.е. окно с сайтом нормально откроется в браузере).
Rotwang
Спасибо, MustLive. КАк много я еще не знаю все-таки sad.gif
MustLive
Цитата
Куда прописывать ссылку, чтобы при нажатии на кнопку переходить по этой самой ссылке.

Gary

Во-первых, данная тема на форуме многократно рассматривалась. Во-вторых, пользователи форума тебе уже ответили на твой вопрос.

Цитата
Да простят меня модераторы за то, что дублирую тему ранее созданную мной в разделе "Начинающим", но очень необходимо...

В-третьих, не нужно дублировать темы. Это категорически не рекомендуется делать на форуме.

Цитата
Спасибо, MustLive. КАк много я еще не знаю все-таки

Всегда пожалуйста.

Rotwang, почитай хелп к флешу, наш форум и нашу рассылку, и при желании книги по флешу, и многое узнаешь wink.gif.
MustLive
Цитата
почему-то все равно не переходит...(((((

Gary

Почитай, что я ответил Rotwang, касательно политики безопасности флеш плеера. Она может влиять на переход на сайт при нажатии на кнопку во флешке.

Поэтому или сделай соответствующие настройки во флеш плеере, или запускай данную флешку на веб сайте (или локальном веб сервере).

Цитата
когда я в swf встроил кнопки и присвоил им куда меня переправлять мне адоб плеер постоянно что-то выдает, и не отправляет

Вот это и срабатывает политика безопасности флеш плеера. Сделай то, что я рекомендовал выше, и флешка у тебя нормально заработает.
Robozavr
Я еще не победил smile.gif .Как можно сделать чтоб SPACE срабатывал после клика а не пока isDown?
HaWK
Цитата(Robozavr @ 19.08.2009 - 23:00) *
Я еще не победил smile.gif .Как можно сделать чтоб SPACE срабатывал после клика а не пока isDown?

Для этого надо создать кнопку-символ и поместить в неё вот это код (ошибки не проверял):
Код
on(keyPress "<Space>") {
     твои действия
}

Точно не знаю, но помойму так. Если шо, MustLive скажет, подожди.
MustLive
Цитата
Как можно сделать чтоб SPACE срабатывал после клика а не пока isDown?

Robozavr

У тебя не совсем понятный вопрос. Напиши точнее, что ты хочешь и зачем тебе это нужно. Клавиша SPACE сработает при нажатии на неё на клавиатуре, так что при чём тут "после клика"? Или ты хочешь запретить обработчик нажатия на клавишу пробел, пока пользователь не кликнет на определённую кнопку? Уточни, чтобы я мог тебе помочь.

Цитата
Точно не знаю, но помойму так.

HaWK

on(keyPress "кнопка") - это тоже самое, что Key.isDown(код). А Robozavr хотел, чтобы что-то срабатывало без isDown.

Нужно, чтобы он уточнил, что именно он хочет, и тогда я ему подскажу решение его задачи.
HaWK
Цитата
HaWK

on(keyPress "кнопка") - это тоже самое, что Key.isDown(код). А Robozavr хотел, чтобы что-то срабатывало без isDown.

Нужно, чтобы он уточнил, что именно он хочет, и тогда я ему подскажу решение его задачи.

Хорошо. Разберёмся. wink.gif
Robozavr
Вроде не одно и тоже. isDown работает пока жмешь а код Хоука то что я просил(по крайней мере в моем коде) , но это меня не спасло.
Попробую объяснить что я хотел .
Мне нужно чтоб при нажатии на кнопку(нажал и отпустил) проигрывалась анимация удара1 а если быстро нажать 2раза то проигрывалась анимация удара2. И все бы хорошо , но анимация хотьбы с else не дает нормально проиврать всю анимацию ударов а лишь первый кадр и возвращает herо в положение "nоrmal".
Robozavr
Вообще то то же самое sad.gif .
Robozavr
Да и про запрет мне тоже интересно.
Robozavr
Собрал свои вопросы про кнопки в кучу и получилось:
Как установить приоритет одной кнопки над другими?
HaWK
Цитата
Как установить приоритет одной кнопки над другими?

Ни понял? По конкретней?
Rotwang
Цитата(MustLive @ 11.08.2009 - 00:05) *
Чтобы при локальном запуске флешки ты мог перейти на интернет ресурс, тебе нужно сделать соответствующие настройки в плеере (о чём и говорится в этом сообщении).

Как же сделать эти настройки? Если я нажимаю Settings, меня перенапраляют на сайт Macromedia.
MustLive
Цитата
Как же сделать эти настройки? Если я нажимаю Settings, меня перенапраляют на сайт Macromedia.

Вот на сайте Макромедии (Адоба) ты и настраивай настройки (они сохранятся у тебя на компьютере). Как связанные с политикой безопасности, так и все другие настройки.
Alexandr72
Ребята извините, если что не так.. Прочитал эту тему, но так и не получилось ничего с кнопкой...
Вставлял коды, которые указаны выше, но постоянно сообщение, что функция релиз должна применяться для объекта кнопка, или все проходит гладко при проверке, но нажатие на кнопку не срабатывает.

Есть флешзаставка, вылетает шарик и название фирмы, ниже вылетает голубенькая кнопка Sign Up. На нее нужно поставить ссылку sign_up.php
При нажатиина F9 открываю экшн , нахожу вроде как эту кнопку , но в ней только "деревце" clickbutn ( с шестеренкой пиктограмма), ниже деревце раскрывается и пошли - Layer1 кадр10, ниже Layer4 кадр1, ниже еще одна пиктограмка с шестеренкой hitclick. У всех прописано в окне справа stop (); Куда бы я не прописал примеры вышеуказанные

Цитата
on (release) {
getURL("/", "_blank"); или вписывал своё - signup.php
}


меняя на свою ссылку - или типа это у меня не кнопка или не срабатывает на нажатие мыши.

Если тупо нахожу само слово SignUp и приписываю ему сслыку, то это слово при анимации сдвигается и возвращается снова на место (пока шарик летит в самом начале) и тоже никакого толку от нажатия. Так же пробовал выделять саму кнопку под словом этим и изменять ее св-ва с врагмента анимации на "кнопка" - результат плачевный.

Я в ужасе.. Простите, я не спец. Мне нужна всего одна кнопка (пока наверное) Как победить... п.с. использую дремвьювер CS3 и Flash CS3
tiHo
Тебе просто кнопка для перехода по ссылке? Если да - то вот:
Нажмите для просмотра прикрепленного файла
Alexandr72
Спасибо огромное, что кто-то ответил, но чего-то не вышел цветочек. Вот моя кнопка..

Там я вписал код с вашей кнопки, но толку "0".

Я кажется про имя забыл.. А если я вписываю имя этой моей долб..й кнопки вот так:

Код
clickbutton.onRelease = function() {
    };getURL('signup.php');


то при старте анимации она автоматом открывает страницу браузера.... sad.gif
Alexandr72
Может кто-то сможет аську оставить? Ну правда-правда надо.. ну достало меня уже это недоразумение.. sad.gif


Короче, методом научного тыка, я все таки вставил ссылку на кнопку кодом из кнопки, которую мне прислал tiHo

Код
onRelease = function()
{
    getURL('signup.php');
};


Единственно, она при наведении мыши темнеет, затем светлеет но это происходит один раз. т.е. где-то стоит команда стоп наверное.. это уже мелочи. Я герой. Спасибо всем. Пойду теперь кнопки другие делать
tiHo
ты код(который я тебе дал) вставил в символ, а надо в кадр. если для символа, то как то так:


Код
on(release){
getURL......;
}


просто замени тот на этот.
Alexandr72
Привет. Тот код. который в моем сообщении работает. Правильно или нет - уже не важно, главное при нажатии перекидывает куда надо.
А куда я его вставил, по большому счету уже все равно. Учту на будущее. smile.gif Спасибо за помощь. Скачал какой-то самоучитель по флешу, буду учить. Только там про кнопки нет ничего.. Наверное азы.
timorpheus
Всем салют!
Кнопки циклятся(они тип тож с анимацией) вместе с банером над которым они лежат. Сначала этого не было а потом появилось...ктоньть подскажите пжста как этого избежать.
MustLive
Цитата
Кнопки циклятся(они тип тож с анимацией) вместе с банером над которым они лежат.

timorpheus

Если ты не хочешь, чтобы анимация в кнопках зацикливалась, как анимация баннера в твоей флешке, то поставь стопы в кнопках. В последнем кадре анимации в каждой из кнопок укажи AS код stop(); и тогда анимация проиграет только один раз.

Раз ранее этого не было, а потом появилось, значит ранее стопы в кнопках были, а потом их убрали. Так что сделай так, как я описал выше.
MustLive
Цитата
Как установить приоритет одной кнопки над другими?

Robozavr

Что ты имеешь в виду в данном случае?

Ты хочешь, чтобы пока на одну кнопку не нажмут, чтобы другие не работали (не были активными)? Тогда деактивируй все кнопки кроме первой (с наивысшим приоритетом) с помощью свойства enabled. И в обработчике нажатия первой кнопки, помимо своих действий, установи разблокировку второй кнопки. А после нажатия второй кнопки будет разблокирована третья кнопка и т.д.
Sanhes
Я хочу реализовать такой сценарий:
По щелчку на кнопке, запускается анимация.
Вроде бы просто, но после первого проигрывания, я не могу сделать запуск анимации второй раз.
Сделано так:
На таймлинии два кадра. В первом скрипт
stop();
чтоб небыло автоперехода на второй кадр.
Во втором кадре вставлен символ клипа анимации и он заканчивается скриптом
stop();
Для кнопки скрипт
on (release) {
_root.gotoAndStop("2");
}
Я думаю, что надо как-то заставить перейти на первый кадр таймлинии после окончания анимации, но как это сделать не знаю и немогу сообразить.
Подскажите новичку.
Файл здесь:
http://nkobrik1.narod.ru/im2/flash.rar
HaWK
Цитата(Sanhes @ 13.03.2010 - 20:37) *
Подскажите новичку.

Вы же внутри клипа-анимации на 2 кадре написали в конце stop(); - ну так он и останавливается. Даже при повторном нажатии на кнопку он всё равно будет на кадре (внутри клипа) на котором он остановился.
Решение:
1. За место stop(); внутри клипа на последнем кадре напишите gotoAndPlay(1);
2. Добавьте ещё один скрипт для нажатия на кнопку:
Код
mc_name.gotoAndPlay(1);

mc_name - это имя вашего символа (МувиКлипа) на втором кадре.

PS И ещё одно: Когда пишите gotoAndStop или gotoAndPlay цифру в ковычки брать не обязательно. Это же не String.
Sanhes
Спасибо, попробую.
Я предполагал, что надо в последний кадр клипа вставить переход на первый кадр таймлинии сцены, но не думал, что он так просто выглядит.
Кавычки не я ставлю. Я с кодом работаю только через встроенного помошника.
Sanhes
Не получается по-вашему. Клип проигрывается без остановки.
Видимо возвращается не на первый кадр всей сцены, а на первый кадр самого клипа.
Пришлось вынуть клип из кадра и всё разместить на основной сцене.
Теперь работает.
В первом кадре
stop();
Для кнопки скрипт
on (release) {
_root.gotoAndPlay("2");
}


Интересно бы всё же узнать, как надо указывать переход на сцену из вставленного клипа.

Не знаю как здесь изображения загрузить.
HaWK
Цитата(Sanhes @ 14.03.2010 - 07:17) *
Не получается по-вашему. Клип проигрывается без остановки.

Давайте исходник, я покажу как исправить. Хотя я уже знаю в чём дело - объяснять долго.
Sanhes
Файл здесь:
http://nkobrik1.narod.ru/im2/flash.rar
HaWK
Вот, я исправил:Нажмите для просмотра прикрепленного файла
Sanhes
Благодарю за помощь.
HaWK
Нет проблем smile.gif
Русская версия IP.Board © 2001-2011 IPS, Inc.