Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Общие вопросы о Flash (не затрагивающие ActionScript)

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 14.01.2010, 05:40
Chay вне форума Посмотреть профиль Отправить личное сообщение для Chay Найти все сообщения от Chay
  № 1  
Ответить с цитированием
Chay

Регистрация: Jan 2010
Сообщений: 15
По умолчанию Flash - кнопка

Здравствуйте. Новичок и нуждаюсь в совете. Сделал кнопку, все работает, но одна проблема:
Если у меня UP это pic1, OVER также pic1, а DOWN pic2 как сделать так чтобы после нажатия, кнопка оставалась вдавленной, то есть видеть изображение «pic2» ? У меня после нажатия возвращает изображение «pic1». Вдавливается и выдавливается.
Для информации: составные изображения «pic1-выпуклая» и «pic2-вдавленная» нарисованы отдельно и импортированы во flash как gif-файлы


Последний раз редактировалось Chay; 14.01.2010 в 05:45.
Старый 14.01.2010, 12:42
McW вне форума Посмотреть профиль Отправить личное сообщение для McW Найти все сообщения от McW
  № 2  
Ответить с цитированием
McW

Регистрация: Jan 2010
Адрес: Вертикальное положение
Сообщений: 10
опа..
интересно зачем Гифы пихать во флэш, тем болие кнопками)

всё просто.
создаёте Баттон
рисуете все пазиции 1- вид кнопки, 2- кнопка при наведении мыши 3- кнопка нажатая.
копируете нарисованную нажатую кнопку в 3 леере.
делаете отдельный для неё мувиклип.
и пихаете в кадр вместо кнопки на которую нажимали неактивным объектом

и при нажатии на кнопку. идёт переход на кадр где кнопка уже не кнопка а просто нарисованный объект (вдавленный)

тоже самое можно и с гифами, но не целесообразно

Старый 14.01.2010, 16:14
Chay вне форума Посмотреть профиль Отправить личное сообщение для Chay Найти все сообщения от Chay
  № 3  
Ответить с цитированием
Chay

Регистрация: Jan 2010
Сообщений: 15
Type button. Скопировал нажатую кнопку DOWN. Создал новый теперь уже movie clip. Положил скопированное изображение. Ctrl-enter но ничего не вышло. Может не совсем понял, поясните, пожалуйста: «и пихаете в кадр вместо кнопки на которую нажимали неактивным объектом». Наверно, что-то делаю не совсем правильно, у меня в новом клипе нет кадров up/over/down/hit, чтобы иметь отдельный кадр, так как это теперь не кнопка, а мувиклип. В общем по разному пробую, пока не получается. В случае если делаю отдельный layer в режиме редактирования кнопки, получается нажатое изображение и только звук при нажатии, анимация пропала (да, кстати, у меня кнопка со audio, может в этом причина…) если же создаю слой в основном окне, кадры закручиваются, мигают. Но эти оба варианта изначально неверны : ( как быть?

Отдельный вопрос: какие файлы для кнопок лучше импортировать во flash, если рисую не в самом флеше ?

Заранее благодарю

Старый 14.01.2010, 17:52
McW вне форума Посмотреть профиль Отправить личное сообщение для McW Найти все сообщения от McW
  № 4  
Ответить с цитированием
McW

Регистрация: 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

Старый 14.01.2010, 21:13
Chay вне форума Посмотреть профиль Отправить личное сообщение для Chay Найти все сообщения от Chay
  № 5  
Ответить с цитированием
Chay

Регистрация: 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 (тут пожалуй путаюсь, но в любом случае пробовал по-всякому).

Код AS1/AS2:
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.
Старый 15.01.2010, 11:25
KiL33 вне форума Посмотреть профиль Отправить личное сообщение для KiL33 Найти все сообщения от KiL33
  № 6  
Ответить с цитированием
KiL33
 
Аватар для KiL33

Регистрация: Jul 2007
Адрес: Гражданин Российской Федерации
Сообщений: 1,122
Отправить сообщение для KiL33 с помощью ICQ
Код AS1/AS2:
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;
	};
}

Старый 15.01.2010, 21:14
Chay вне форума Посмотреть профиль Отправить личное сообщение для Chay Найти все сообщения от Chay
  № 7  
Ответить с цитированием
Chay

Регистрация: Jan 2010
Сообщений: 15
Нужно чтобы анимация кнопки остановилась на нужном кадре после нажатия. У меня кнопка из 2-ух gif-ов. Поясните пожалуйста, что здесь к чему, и что с этим кодом делать, как это может мне пригодиться, как применить, что добавить, что убрать? а то я совсем запутался. В языке, да и во флеше я пока мало, что знаю. Пробовал с этим кодом тоже (вернее на основе поковырялся) но что-то не вяжется, впрочем, мне здесь ошибиться легко. Конечно и на этом спасибо, но пока проблема актуальна, очень нужно, пока не сдаюсь


Последний раз редактировалось Chay; 16.01.2010 в 00:10.
Старый 21.01.2010, 20:04
Chay вне форума Посмотреть профиль Отправить личное сообщение для Chay Найти все сообщения от Chay
  № 8  
Ответить с цитированием
Chay

Регистрация: Jan 2010
Сообщений: 15
Всем спасибо за помощь! Спасибо bogoos Тема исчерпана. Проблема решина так, может кому-нибудь понадобится:

1. Создаем movie clip
4. в первый кадр этого символа pic1
5. создаем еще один слой
6. в первом кадре этого слоя скрипт: stop();
7. во второй кадр слоя с картинкой вставляем звук
8. во второй кадр со скриптом пишем stop();
9. в третий кадр с картинками вставляем вторую картинку
10. в третий кадр с скриптом пишем stop();
11. выходим в сцену
13. символ перетаскиваем в 1 кадр сцены
14. даем этому символу инстанс нейм
15. в сцене делаем второй слой
16. в первом слое только созданного кадра пишем код

Код AS1/AS2:
имясимвола.onPress = function()
{
имясимвола.gotoAndStop(2)
}
имясимвола.onRelease = function ()
{
имясимвола.gotoAndStop(3)
}


Последний раз редактировалось Chay; 21.01.2010 в 20:07.
Создать новую тему Ответ Часовой пояс GMT +4, время: 19:17.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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