![]() |
|
||||||||||
|
|||||
|
ЕСТЬ ФИЛЬМ , состоящий из нескольких сцен, все сцены построены по одному принципу, отличаются только используемыми картинками. Картинки на этих сценах одинакового размера и расположены на всех сценах в одном и том же месте.
Я ХОЧУ : весь фильм сократить до одной сцены, а символы вставлять скриптом как переменные. НАПРИМЕР ТАК : все картинки у меня лежат в библиотеке как эталоны (symbol) и в нужный момент времени доставать их скрипитом, обращаясь по имени, и вставлять в нужное место. ВОПРОС : Как мне указать куда именно надо вставлять картинку? И, если фильм у нас будет из одной сцены, как сделать, чтобы при следующем проходе (loop) вставлялась другая картинка? Не слишком ли я намудрил? |
|
|||||
|
Регистрация: Apr 2001
Адрес: Moscow
Сообщений: 1,475
|
не слишком намудрил.
- нужно аттачить картинку из библиотеки. сделай пустой клип на сцене, в него аттачь на нулевую глубину. или еще проще: все картинки сделай мувиками положи в одно место на сцене, и просто делай всем визибл 0 а после этого нужной - визибл 1 и все |
|
|||||
|
Сэнкс!
Ok! Только я не совсем представляю как сделать, чтобы при следующем проходе (loop) вставлялась другая картинка? |
|
|||||
|
Создай переменную в первом кадре, с инкриментом во втором Все картинки пронумеруй, лупись со второго кадра.
__________________
Учиться и, когда придет время, прикладывать усвоенное к делу - разве это не прекрасно! Беседовать с другом, приехавшим издалека, - разве это не радостно! Не быть по достоинству оцененным светом и не таить обиду - разве это не возвышенно! |
|
|||||
|
Так. Хорошо, а если у меня должно быть несколько таких динамически-изменяемых объектов?
Например: imgLeft, imgCenter и imgRight В библиотеке сложить их в разные папки и нумеровать их отдельно? |
|
|||||
|
Как ты их уложишь в библиотеке - это твое дело, главное, что бы они заканчивались нужным номером, тогда ты сможешь обращаться к ним как
"imgLeft"+var "imgCenter"+var "imgRight" +var где var та переменная, задающая номер итерации.
__________________
Учиться и, когда придет время, прикладывать усвоенное к делу - разве это не прекрасно! Беседовать с другом, приехавшим издалека, - разве это не радостно! Не быть по достоинству оцененным светом и не таить обиду - разве это не возвышенно! |
|
|||||
|
чего-то нифига у меня не получается =(
мне надо : у меня есть три набора мувиклипов, по четыре клипа в каждом наборе, все они названы imgLeft1, imgLeft2... imgRight1, imgRight2... imgCenter1, imgCenter2 ... и т.д. все они расположены на одной сцене и я хочу, чтобы при каждом проходе (loop) отображался следующий по порядку мувиклип, а после того как отобразится последний набор, фильм должен останавливаться. могу я сделать так? : в первый кадр самого верхнего слоя я пишу: for (i=0; i<5; i++) { "imgLeft"+i "imgCenter"+i "imgRight" +i } как я понимаю, после каждого прохода заначение i увеличивается на единицу, но как это сказать флешу, что он правильно меня понял? |
|
|||||
|
Регистрация: Apr 2001
Адрес: Moscow
Сообщений: 1,475
|
я бы рекомендовал поступить иначе:
сделай три массива, а еще лучше xml-описание сцены и перезоди по xml, считывая их него данные о требуемых мувиках и их настройках. ща пример сделаю и пришлю. |
|
|||||
|
Исходник лучше выложи...
|
|
|||||
|
Регистрация: Apr 2001
Адрес: Moscow
Сообщений: 1,475
|
зачем исходник?
посмотреть что у меня весь скрипт в руте в первом кадре? и в библиотеке лежат два залинкованных мувика ball_mc и triangle_mc // создаем XML описание (а можно и загрузить извне)
// по принципу: номер сцены указывается в ID узла сцены
// имя узла соответствует linkage имени мувика в библиотеке
str = "<scenes>";
str += "<scene id='1'>";
str += "<ball_mc _name='ball_mc' _x='20' _y='50' _alpha='50'/>";
str += "<triangle_mc _name='triangle_mc' _x='200' _y='100' _alpha='90'/>";
str += "<ball_mc _name='oval_mc' _x='20' _y='50' _xscale='50'/>";
str += "</scene>";
str += "<scene id='2'>";
str += "<ball_mc _name='ball_mc' _x='200' _y='150' _alpha='50'/>";
str += "<triangle_mc _name='triangle_mc' _x='20' _y='100' _alpha='90'/>";
str += "<ball_mc _name='oval_mc' _x='20' _y='50' _xscale='150'/>";
str += "</scene>";
str += "<scene id='3'>";
str += "<ball_mc _name='ball_mc' _x='20' _y='50' _alpha='50'/>";
str += "<triangle_mc _name='triangle_mc' _x='20' _y='100' _alpha='10'/>";
str += "<ball_mc _name='oval_mc' _x='20' _y='50' _xscale='30'/>";
str += "</scene>";
str += "</scenes>";
_root.scenes_xml = new XML(str);
// удаляем строку, она нам больше не нужна
delete str;
// создаем свойство scene в руте
_root.getScene = function() {
return _root.scene;
};
_root.setScene = function(num) {
var mc = _root.createEmptyMovieClip("holder_mc", 0);
var nod_array = _root.scenes_xml[num].childNodes, i = 0;
for (i; i<nod_array.length; i++) {
mc.attachMovie(nod_array[i].nodeName, "", i, nod_array[i].attributes);
}
};
_root.addProperty("scene", _root.getScene, _root.setScene);
// делаем тестовые аттачи
_root.onMouseUp = function() {
_root.scene++;
};
|
![]() |
Часовой пояс GMT +4, время: 04:23. |
|
|
« Предыдущая тема | Следующая тема » |
|
|