Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Нестандартная замена кнопки (http://www.flasher.ru/forum/showthread.php?t=102815)

Liox 23.10.2007 14:05

Нестандартная замена кнопки
 
Имеется кнопка плэй. При нажатии на неё должна появится на её месте кнопка пауза.
В этом случае нельзя пользоваться переходом на второй кадр. Потому что у кнопок нету кадров, только 3 состояния(и они все в анимации).
Подскажите кто сталкивался с этой проблемой...
Пользовался заменой
Код:

play.swapDepths(pause);
не работает.

Может возможно как-то заменить конкретно трегольничек на две палочки... But I realy don`t know how it`s made...

Буду признателен. По окончании выложу готовый флэш аудио плеер с потоковой загрузкой звука, прокруткой его и volume. Вроде были такие вопросы

Мыкыта 23.10.2007 14:08

пользовать в качетстве кнопки мувик

Molecula 23.10.2007 14:09

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

Liox 23.10.2007 14:12

Но мне нужна анимация кнопки на всех трёх состояниях. Если же я кнопку погружая в под мувик. То анимация НЕ РАБОТАЕТ

Мыкыта 23.10.2007 14:13

а анимировать мувик непрбывали? вам говорят что пользовать нужно мувики, а не кнопки!

Liox 23.10.2007 14:14

Как вы хотите анимировать мувик? Засунуть в него ещё три мувика на три фрэйма и анимировать их?

Мыкыта 23.10.2007 14:15

вообщем то так и делают :)

Liox 23.10.2007 14:16

И совсем не понимаю, как сделать програмно, при пропрохождении мышки над мувиком go и stop мувик на второй фрэйм.
Вроде нет команды onMouseOver ?

Kikasso 23.10.2007 14:18

Код:

function btnClick(){
 swapDepths.call( play_btn, pause_btn );
}
play_btn.onPress = pause_btn.onPress = btnClick;

Для кнопок и текстовых полей swapDepths не прописан, но можно применить к ним мувиклипный.
А если по простому, можно сказать кнопке _visible = false

Имена вида play вне закона. Есть команда play() , а вы кнопку с таким именем делаете.

Мыкыта 23.10.2007 14:18

как это нет? вы чего книжек не читали? onRollOver onRelease onPress.... вам в руки!

Kikasso 23.10.2007 14:26

Нее, не так. Вы что ХЕЛП не читали??

Liox 23.10.2007 14:28

И почему я так думал что вместо Roll нужно именно mouse :)
Kaksso спасибо за пример, но что-то нехочет мой кнопка отчаянно заменяться... Она делает странные действия не такие как раньше, но не видно того заветного символа паузы... Наверное прейдётся делать анимацией...

Ничё не понял. Нее, нетак это кому?

Мыкыта 23.10.2007 14:39

кнопкус вульггариус с инстанс именем btn (мувик)
в мувике два флага s1 и s2 где анимация состояния кнопки

Код:

btn.onRollOver = function() {
this.gotoAndPlay("s1");
}
btn.onRollOut = function() {
this.gotoAndPlay("s2");
}


Kikasso 23.10.2007 14:47

Вложений: 1
Цитата:

Сообщение от Liox
Она делает странные действия не такие как раньше, но не видно того заветного символа паузы...

Покажите.
Вот, работает?

Liox 23.10.2007 20:15

Ааа. Если так это рассматривать... Тоесть одну кнопку над другой ставить? Я то предпологал что заместо одной появляется друга... Ну наверное это почти одно и тоже если анимация не сильно двигает кнопки относительно друг друга

Liox 24.10.2007 09:31

Спасибо. Всё отлично получилось. Скоро выложу результаты :)

Kikasso 24.10.2007 12:42

Можно просто делать по клику так:

Код:

play_btn._visible = pause_btn._visible;
pause_btn._visible = !play_btn._visible;


ilovedrew 21.05.2008 03:55

а не подскажите ли ..

кнопка является мувиклипом ..

на первом кадре стоит код

Код:

_root.krug1.onPress = function() {
  this.play();
};

нажимаю на эту кнопку ,, происходит анимация мувиклипа ..

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

я хотел бы, чтобы из этого мувиклипа (с 5 кадра) автоматом уходилось к первому кадру основной сцены. :wacko:

flazher 21.05.2008 12:38

Я чего то недопонимаю, из за чего такие споры??? Сделать мувиклип, внутри две кнопки. Одна played, другая stoped. В played:
Код:

on(release) {
_root.stoped._visible = true;
}

А в stoped :
Код:

on(release) {
_root.played._visible = false;
}

ВСЁ! Никаких заморочек. :bye::bye::bye:
З.Ы. Хотя может, я не так понял.

ilovedrew 21.05.2008 16:36

flazher, внутри мувиклипа нет кнопки - пользователь ничего нажимать не должен.

>> как из этого мувиклипа перейти в другое место? у меня получается так, что единственный вариант - это нажать в область кнопки.

т.е. пользователь ничего нажимать не должен по задумке - просто происходит анимация кнопки, а уже затем автоматический переход (с 5го кадра мувиклипа на первый кадр основной сцены)

flazher 22.05.2008 08:25

Нет, мой мозг отказывается это всё переваривать... :(

ilovedrew 22.05.2008 15:18

Вложений: 1
я сделал исходник :rolleyes:

когда нажимаем на кнопку, появляется обратный отсчет, и на кадре GO мы должны автоматически перенестись на 1 кадр 1 сцены - на кадр с зеленой травкой

ilovedrew 22.05.2008 20:18

методом проб и ошибок я уже на верному пути. сейчас в код первого кадра ставлю такой:

Код:

_root.but.onPress = function() {
  this.play();
 
}

 
_root.but.onRelease = function() {
        gotoAndPlay(1);
}

однако переход срабатывает только в случае, если Я ДЕРЖУ КНОПКУ НАЖАТОЙ (не отпускаю мышку). :rolleyes:

ilovedrew 22.05.2008 23:25

кажется, получилось.

в последнем кадре мувиклипа написал _root.gotoandplay(1)

Роман Вадимович 23.05.2008 00:39

Можно проще :)
Назовите кадры мувика кнопки следующим образом:
_up, _over, _down
Я имею ввиду создать метки для кадров.

ilovedrew 23.05.2008 22:31

хм, это было бы лучше, но как сделать это?

Роман Вадимович, надеюсь, опишите

Роман Вадимович 23.05.2008 23:58

1) Создаёте !мувик! (не кнопку) и именем "mc".
2) Помещаете его на сцену и называете экземпляр, например "btn".
3) В мувике должно быть 3 кадра, каждый из 3-х кадров должен иметь свою метку "_up", "_over", "_down".
4) В первом кадре основной сцены пишите код:
Код:

btn.onRelease = function() { trace("Меня нажали"); }

Wolsh 24.05.2008 03:15

Вложений: 1
Вот примерчик набросал. Я обычно эту кнопку так делаю.

ilovedrew 24.05.2008 03:37

Wolsh, Роман Вадимович, спасибо за помощь -решил на своем способе остаться, ибо уже сделал всё :)


Часовой пояс GMT +4, время: 22:09.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.