16
мар
  Блокировка кнопок на заданное время   0 баллов
 

Есть пример:

http://nokiaxpressmusic.ru/

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

Комментарии (11)   Автор: o_O
Комментарии
admin
16.03.09 | 22:31
0 баллов

Нужно отслеживать события загрузки всех данных в контентной части и отслеживать окончание проигрывания видео. Само «отключение» MovieClip'a возможно таким образом:

_mc.enabled = false;

Чтобы клип «активизировать» снова, нужно написать:

_mc.enabled = true;

o_O
20.03.09 | 11:22
0 баллов

А если на момент проигрывания (загрузки всего контента и т.д.) поверх всех кнопок поставить слой-кнопку с кодом?

onClipEvent (load) {
butt.useHandCursor = false;
}

По сути, конструкция прекрасно работает.

admin
20.03.09 | 12:05
0 баллов

Можно и так, согласен. Я обычно использовал такой способ, если не известно какие кнопки сейчас находятся на сцене или их очень много. Если кнопок не очень много и известно, сколько их, то, на мой взгляд, лучше делать _mc.enabled = false;

o_O
20.03.09 | 14:54
0 баллов

А можно пример кода c _mc.enabled = false, если у нас, к примеру, три кнопки. Просто слабо представляю себе, как это выглядит.

admin
20.03.09 | 19:29
0 баллов

Отключение кнопки и состоит из одной только строчки:

_mc.enabled = false;

Где _mc — путь к клипу. Или вы не это имели ввиду?

o_O
21.03.09 | 17:12
0 баллов

Это понятно, но этой одной строчкой я выключаю кнопку до тех пор, пока где-то не будет написано _mc.enabled = true;. Правильно? Мне же интересен пример выключения кнопки на время полной загрузки мувиклипа:

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

admin
22.03.09 | 13:06
0 баллов

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

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

o_O
22.03.09 | 16:18
0 баллов

Да, спсибо, штука куда лучше, чем то, что я пытался сделать.

И еще вопрос:

В уроке о MovieClipLoader прелоадер текстовый и управляется кодом:

_root.preload_mc.preload_txt.text =_root.preload_mc.duplicate_txt.text=Math.round(varPercent)+“%”;

Мне же нужно сделать увеличивающуюся полоску без текста, но, предварительно, не делая для нее отдельную анимацию. Вопрос в том, как сделать прелоадер кодом в рамках урока MovieClipLoader. Бьюсь уже кучу времени, но никак не могу понять.

admin
23.03.09 | 19:01
1 балл

Главное тут понять, что отвечает за процент загруженного файла. У нас таким параметром является varPercent. Итак, создаём на главной сцене клип с именем line_mc, пусть в нём будет просто квадратик любого цвета, который не будет совпадать с цветом фона, чтобы мы могли отличить его, пусть его размер будет 10*10px.

Теперь, вместо приведённой вами строки прописываем следующее:

_root.line_mc._width = varPercent/100 * 500;

Тут надо понять, что число 500 — это максимальная ширина линии. Когда линия расширится до этой отметки, то загрузка завершится. Вместо 500 может быть любое число, и 20, и 100, и даже 1000.

o_O
23.03.09 | 23:26
0 баллов

Огромное спасибо!

Тогда, получается, если вместо 500 вставить Stage.width, то прелоадер получается резиновым и тянется на всю ширину окна.

admin
24.03.09 | 18:02
0 баллов

Да, так и получается. Только если будете тестировать в Flash IDE, то могут быть проблемы, если какие-то объекты будут вылазить за размеры поля. В HTML всё должно будет работать без проблем.

 
 
 
 

Последние комментарии

Полезные ссылки

Реклама сайтов

Скидки на жемчуг и янтарь. Оптовая продажа жемчуга в москве. Индийские украшения и бижутерия.
Модные украшения, жемчуг. Посмотрите каталог ювелирной бижутерии на сайте. Скидки в мире жемчуга.