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

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

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

Регистрация: Apr 2006
Сообщений: 2
Attention "Сложная кнопка". Как выполнить все требования?

Необходимо очень срочно сделать всего одну кнопку, но чтобы она работала строго так, как заявлено.
Кнопка должна:
1.Запускать/останавливать звук (запись голоса)
2.Изображать условную рожу статичной (определенного вида), когда звука нет, и динамичной, когда есть
3.При наведении на нее мыши, должна показывать статичную картинку, но отличную от времени молчания
4.При загрузке страницы звука (именно этого) быть не должно
5.Пользователь может нажимать сколько угодно раз на "пуск звука", при этом звучать должен один фрагмент, без эха и повторного запуска
6.Пользователь может включать/выключать неограниченное число раз. Звук при повторном пуске должен начинаться с начала.

Возможно, есть еще требования, о которых я забыла.

Как реализовано на данный момент:
Один слой, в нем два символа button. Внутри первого из них находится символ Muvie Clip, содержащий мувик с кривляющейся рожей (имитация мимики, пока убогая).

На сцену навешен код (на первом и пока единственном кадре)
melody = new Sound();
melody.attachSound("melody");
button_happyman.happyman.stop();

На кнопке номер 1 код:
on (press) {
button_happyman.happyman.play();
if (!melody.position) {
melody.start();
}
}

На кнопке номер 2:
on (press) {
button_happyman.happyman.stop();
melody.stop();
}

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

Очень мечтаю о незамедлительной помощи. Спасибо, что дочитали до конца

Старый 23.04.2006, 03:08
Homo Sapiens вне форума Посмотреть профиль Отправить личное сообщение для Homo Sapiens Посетить домашнюю страницу Homo Sapiens Найти все сообщения от Homo Sapiens
  № 2  
Ответить с цитированием
Homo Sapiens
 
Аватар для Homo Sapiens

Регистрация: Nov 2004
Адрес: Санкт-Петербург
Сообщений: 751
Ты не мечтай, а в Help загляни.
А так - ничего сложного.
1. Смотри хелп.
2. Пункт один + изменение картинки.
3. Событие onRollOver, onRollOut + пункт два.
4. Смотри пункт один.
5. Сделай флаговую переменную, при первом нажатии устанавливай значение, при каждом проверяй, установлено ли оно, и если да, то ни делай ничего. В конце звукового фрагмента сбрасывай её.
См. пункт 5.

Про то, что ты имеешь. Забей на button и используй MovieClip.
Читай хелп про события onPress, onRollOver, onRollOut -> не используй on(ClipEvent).
__________________
Всё гениальное просто.

Старый 23.04.2006, 12:48
Leoparda вне форума Посмотреть профиль Отправить личное сообщение для Leoparda Найти все сообщения от Leoparda
  № 3  
Ответить с цитированием
Leoparda

Регистрация: Apr 2006
Сообщений: 2
Я согласна, что мой вопрос профанский и мои познания во флеше и языке действительно минимальны - все, что успела изучить сама за последнее время. Дело в том, что мне надо это для диплома. Я бы с удовольствием обошлась без этого элемента, но руководитель настаивает, а помочь сам не может, тоже к хэлпу отсылает. Так случилось, что образование у меня чисто гуманитарное, а диплом абсолютно другой, компьютерный, со сложностями...
Если бы знала заранее во что ввязываюсь, не взялась бы ни в жисть! За последние три месяца я выслушала от всех своих друзей и родственников столько отсылок к хэлпу, что просто почти отчаялась получить помощь...

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

Старый 23.04.2006, 13:26
Nox Noctis вне форума Посмотреть профиль Отправить личное сообщение для Nox Noctis Посетить домашнюю страницу Nox Noctis Найти все сообщения от Nox Noctis
  № 4  
Ответить с цитированием
Nox Noctis
don't panic!
 
Аватар для Nox Noctis

Регистрация: Aug 2001
Сообщений: 4,121
нельзя клипы вкладывать в кнопку, иначе к ним будет нельзя обратиться обычным способом. если button_happyman - кнопка, а happyman - клип в ней, то обращение button_happyman.happyman работать не будет.

я сделал бы так:

1. создаём две _кнопки_, одну для остановки звука и одну для запуска. внутрь этих кнопок можно вложить всяких клипов для анимации состояний отжато-наведено-нажато.

2. вкладываем эти кнопки в _клип_, в два последовательных кадра. в первый кадр - кнопку для запуска звука, а во второй кадр - кнопку для остановки звука. клипу на сцене даём имя, например, container_mc.

3. на первой кнопке (для запуска) пишем
Код:
on (press) {
	_root.melody.start();
	this.gotoAndStop(2);
}
на второй кнопке (для остановки) пишем
Код:
on (press) {
	_root.melody.stop();
	this.gotoAndStop(1);
}
4. в руте (на главной линейке) пишем:
Код:
melody = new Sound(container_mc);
melody.attachSound("melody");
container_mc.stop();
вроде ничего не забыл... :)


Последний раз редактировалось Nox Noctis; 23.04.2006 в 13:30.
Создать новую тему Ответ Часовой пояс GMT +4, время: 05:54.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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