Помощь · Поиск · Пользователи · Календарь
Полная версия этой страницы: Случайная картинка в MovieClip
Flash Zone Forum > Macromedia Flash > ActionScript
VERONICA
Здравствуйте! Проблема в реализации проекта.

Имеется главный MovieClip, где в этом клипе имеется несколько MovieClip'пов. Необходимо, чтобы при каждом запуске flash-ролика несколько MovieClip'пов в главном MovieClip'е случайно генерировались.

Например: главный MovieClip - это "Альбом с рисунками", а внутри этого клипа рисунки. В этом альбоме должно случайно появляться несколько рисунков на одной странице альбома и т.д. для второй и третьей страницы.

MustLive
VERONICA

Для этого программно задай случайною выборку для каждого из вложенных мувиклипов. Если у тебя в каждом из этих мувиков изображения находятся на разных кадрах (на 1 и 2 кадре), то тебе нужно лишь трижды, для каждого из них, выбрать случайное число 1 или 2 и сделать переход на этот кадр для каждого из вложенных мувиков. Этот код "случайной выборки" должен быть расположен на каждом кадре "альбома", соответственно каждый раз при переходе на любой из кадров будет происходить показ случайных изображений.
VERONICA
MustLive, я хочу, чтобы код к обращению на главный клип был на первом кадре, а сам клип содержался на третьем. Как описать эту процедуру, чтобы она обращалась к главному клипу и перемешивала случайно внутри него несколько клипов?

Исходник (Adobe Flash CS5): [ скачать ]
MustLive
VERONICA, формат CS5 я не прочитаю. Максимальный формат, что мой Флеш редактор поддерживает - это Flash 8.

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

У мувика "Альбом с рисунками" имя album. У вложенных мувиков имена clip1, clip2, clip3 и т.д. (их может быть любое количество). В каждом из этих мувиков находятся изображения на разных кадрах (на 1 и 2 кадре), как я говорил ранее. Код для указания случайного изображения будет следующий:

Код
_root.album.clip1.gotoAndStop(Math.round(Math.random())+1);
_root.album.clip2.gotoAndStop(Math.round(Math.random())+1);
_root.album.clip3.gotoAndStop(Math.round(Math.random())+1);

Код этот размести на главном таймлайне. Но если ты хочешь, чтобы во время перемещения по мувику "Альбом с рисунками" при повторном заходе в любой из кадров было новое случайное размещение изображений, то в этом случае нужно код размещать внутри этого мувика.
VERONICA
MustLive, спасибо большое! Работает!

Но возможно ли сделать такое: ролик начинается с 1-го кадра и останавливается на 3-ем кадре, а сам альбом находился на 5-ом. Код на первом кадре осуществлял рандомную генерацию (1 раз) рисунков на альбоме, а сам ролик останавливался на 3-ем кадре, но с помощью кнопок можно было бы переместиться на 5-ый кадр, но с учётом возврата на 3-ий?
MustLive
VERONICA, всегда пожалуйста.

Цитата
Но возможно ли сделать такое

Возможно.

В первом кадре указываешь код для рандомной генерации изображений (тот, что я привёл ранее). В третьем кадре указываешь код "stop();". После чего добавляешь кнопку, нажатие на которую перенесёт на нужный кадр (например, пятый), на котором размещён альбом. А дальше, ты можешь перемещаться на любой кадр, в том числе и третий.

Для перехода на пятый кадр используй _root.gotoAndStop(5). Главное, что ты переходишь с помощью gotoAndStop на нужные кадры (в альбом и из альбома), и таким образом флешка будет автоматически останавливаться на указанном кадре. Т.е. проигрывание будет полностью подконтрольным заданному алгоритму.
Русская версия IP.Board © 2001-2013 IPS, Inc.