![]() |
|
||||||||||
|
|||||
|
Регистрация: Jan 2010
Сообщений: 15
|
Здравствуйте. Новичок и нуждаюсь в совете. Сделал кнопку, все работает, но одна проблема:
Если у меня UP это pic1, OVER также pic1, а DOWN pic2 как сделать так чтобы после нажатия, кнопка оставалась вдавленной, то есть видеть изображение «pic2» ? У меня после нажатия возвращает изображение «pic1». Вдавливается и выдавливается. Для информации: составные изображения «pic1-выпуклая» и «pic2-вдавленная» нарисованы отдельно и импортированы во flash как gif-файлы Последний раз редактировалось Chay; 14.01.2010 в 05:45. |
|
|||||
|
Регистрация: Jan 2010
Адрес: Вертикальное положение
Сообщений: 10
|
опа..
интересно зачем Гифы пихать во флэш, тем болие кнопками) всё просто. создаёте Баттон рисуете все пазиции 1- вид кнопки, 2- кнопка при наведении мыши 3- кнопка нажатая. копируете нарисованную нажатую кнопку в 3 леере. делаете отдельный для неё мувиклип. и пихаете в кадр вместо кнопки на которую нажимали неактивным объектом и при нажатии на кнопку. идёт переход на кадр где кнопка уже не кнопка а просто нарисованный объект (вдавленный) тоже самое можно и с гифами, но не целесообразно |
|
|||||
|
Регистрация: Jan 2010
Сообщений: 15
|
Type button. Скопировал нажатую кнопку DOWN. Создал новый теперь уже movie clip. Положил скопированное изображение. Ctrl-enter но ничего не вышло. Может не совсем понял, поясните, пожалуйста: «и пихаете в кадр вместо кнопки на которую нажимали неактивным объектом». Наверно, что-то делаю не совсем правильно, у меня в новом клипе нет кадров up/over/down/hit, чтобы иметь отдельный кадр, так как это теперь не кнопка, а мувиклип. В общем по разному пробую, пока не получается. В случае если делаю отдельный layer в режиме редактирования кнопки, получается нажатое изображение и только звук при нажатии, анимация пропала (да, кстати, у меня кнопка со audio, может в этом причина…) если же создаю слой в основном окне, кадры закручиваются, мигают. Но эти оба варианта изначально неверны : ( как быть?
Отдельный вопрос: какие файлы для кнопок лучше импортировать во flash, если рисую не в самом флеше ? Заранее благодарю |
|
|||||
|
Регистрация: Jan 2010
Адрес: Вертикальное положение
Сообщений: 10
|
я понял.. сделайте следующим образом
создайте 2 мувиклипа. 1) с дорожкой аудио а) в мувике вставлена дорошка аудио с 2 кадра б) первый кадр оставте пустым и поставте на нём 'stop' в) назовите 2 кадр audioplay г) вытащите из библиотеке мувик с аудио внутри и назовите его audio2) с анимацией кнопки. лучше рисовать кнопку во флэше для простоты. но рассмотрим ваш вариант. а) Мувик с анимацией кнопки: 1 кадр -рисунок обычная кнопка 2 кадр -рисунок мышка на кнопке 3 кадр -рисунок вдавленной кнопки б) На каждом кадре позиции кнопки поставте в акшине "stop" в) присвойте каждому кадру кнопки имена b1, b2, b3 г) в кнопке присваиваем следующий код. on (release) {
_root.audio.gotoAndPlay("audioplay");
}
on (rollOver) {
gotoAndPlay("b2");
}
on (rollOut) {
gotoAndPlay("b1");
}
on (release) {
gotoAndPlay("b3");
}
1 - если нажать кнопку. он стартует звук в мувике Аудио с кадра который вы назвали АудиоПлэй. 2 - если вы навели мышь на кнопку. он показывает кадр b2 3 - если вы свели мышь с кнопки он показывает кадр b1 4 - если вы нажали он показывает кадр b3 |
|
|||||
|
Регистрация: Jan 2010
Сообщений: 15
|
Все кажется понятно, но у меня обстановка такая, видимо я не совсем точно объяснил суть. Мне нужно чтобы было так:
1. Up. Не нажатая кнопка (b1) - картинка выдавленная 2. Over. Мышка над кнопкой (b1) - ничего не меняется, тот же кадр (up и over - одна картинка, один фрейм) 3. Down. Нажатие (b2) - картинка вдавленная (кейфрейм, включается аудио, переход на другую страницу) 4. Отпускаем (b2) - картинка вдавленная (!! момент истины, главный момент !!) Сделано так, всего два кадра (b1) и (b2). Одна картинка b1 находится в одном фрейме на два кадра up-b1 и over-b1 потом идет нажатие - кейфрейм down-b2 и вот здесь нужно, чтобы, когда я нажимаю и затем отпускаю кнопку, на кнопке останавливалось изображение b2 после чего загружается залинкованая HTML страница, где уже на месте флеш кнопки находится картинка вдавленной кнопки (ну последнее сейчас совершенно неважно, к этому можно еще добавит что изначально кнопку собрал в ActionScript2.0 так как 3.0 возникла проблема с getURL). В общем нужно, чтобы после того как нажал и отпустил, оставался тот же кадр что и при нажатии, кадр b2. Этот момент выдавливания виден во время перехода и получается так: вдавилась-выдавилась-вдавилась - не годится. По сути, проблема в том, что моя анимация loop, а нельзя как-то остановить на последний кадр, после того как нажал и отпустил? Много пробовал, но все варианты безрезультатно, то глохнет, то виснет, то loop-ит при наведении мауса, словом ничего хорошего подскажите, где, что и как правильно писать, чтобы все заработало. Внизу все что пытался сделать с остановкой. b2 это фрейм с картинкой, который нужно остановить или показать в конце клипа после нажатия. Назвал в окне редактирования frame label и instance name (тут пожалуй путаюсь, но в любом случае пробовал по-всякому).on(press) { stop("b2"); } on(release) { stop("b2"); } on (press) { gotoAndStop("b2"); } on (release) { gotoAndStop("b2"); } Создайте анимацию движения и просмотрите ролик. Буквы действительно постепенно проявляются, однако, проявившись, тут же опять исчезают, поскольку после последнего кадра снова воспроизводится первый. А нам нужно, чтобы, доиграв до последнего кадра, ролик остановился. Откройте папку Actions (Действия) в левой части окна, найдите в ней оператор stop и дважды щелкните на нем. В правой части окна появится код: stop (); Последний раз редактировалось Chay; 15.01.2010 в 14:41. |
|
|||||
import mx.transitions.Tween; var pressed:MovieClip = null; var btn_mc:MovieClip; var txt_mc:TextField; var id_btn:Number; for (var i:Number = 0; i<5; i++) { btn_mc = createEmptyMovieClip("btn"+i, i); txt_mc = btn_mc.createTextField("txt", i, 0, 0, 0, 0); btn_mc._alpha = 50 txt_mc.autoSize = true; txt_mc.text = "Button"+i; btn_mc._x = 100; btn_mc._y = 30*i; with (btn_mc) { beginFill(0x544E8F); moveTo(0,0); lineTo(50,0); lineTo(50,20); lineTo(0,20); lineTo(0,10); endFill(); } btn_mc.onRollOver = function() { new Tween(this, "_alpha", mx.transitions.easing.Regular.easeOut, 50, 100, 0.5, true); new Tween(this, "_alpha", mx.transitions.easing.Regular.easeOut, 50, 100, 0.5, true); }; btn_mc.onRollOut = function() { new Tween(this, "_alpha", mx.transitions.easing.Regular.easeOut, 100, 50, 0.5, true); new Tween(this, "_alpha", mx.transitions.easing.Regular.easeOut, 100, 50, 0.5, true); }; btn_mc.onPress = function() { _root.pressed.enabled = true; _root.pressed.onRollOut(); this.enabled = false; _root.pressed = this; }; } |
|
|||||
|
Регистрация: Jan 2010
Сообщений: 15
|
Нужно чтобы анимация кнопки остановилась на нужном кадре после нажатия. У меня кнопка из 2-ух gif-ов. Поясните пожалуйста, что здесь к чему, и что с этим кодом делать, как это может мне пригодиться, как применить, что добавить, что убрать? а то я совсем запутался. В языке, да и во флеше я пока мало, что знаю. Пробовал с этим кодом тоже (вернее на основе поковырялся) но что-то не вяжется, впрочем, мне здесь ошибиться легко. Конечно и на этом спасибо, но пока проблема актуальна, очень нужно, пока не сдаюсь
![]() Последний раз редактировалось Chay; 16.01.2010 в 00:10. |
|
|||||
|
Регистрация: Jan 2010
Сообщений: 15
|
Всем спасибо за помощь! Спасибо bogoos Тема исчерпана. Проблема решина так, может кому-нибудь понадобится:
1. Создаем movie clip 4. в первый кадр этого символа pic1 5. создаем еще один слой 6. в первом кадре этого слоя скрипт: stop(); 7. во второй кадр слоя с картинкой вставляем звук 8. во второй кадр со скриптом пишем stop(); 9. в третий кадр с картинками вставляем вторую картинку 10. в третий кадр с скриптом пишем stop(); 11. выходим в сцену 13. символ перетаскиваем в 1 кадр сцены 14. даем этому символу инстанс нейм 15. в сцене делаем второй слой 16. в первом слое только созданного кадра пишем код Последний раз редактировалось Chay; 21.01.2010 в 20:07. |
![]() |
![]() |
Часовой пояс GMT +4, время: 17:40. |
|
|
« Предыдущая тема | Следующая тема » |
|
|