27
фев
  Замена клипа   12 баллов
 

Предположим есть 9 клипов внутри которых разные только одна картинка и одна надпись, я заготовил пустышку (шаблон) для этих клипов, как можно программно менять эту картинку и надпись не дублируя сам клип, т.е. грубо говоря мне нужно заменить например клип sprite1 на sprite2
Зарание спасибо.

Комментарии (7)   Автор: blanzh
Комментарии
admin
28.02.09 | 03:37
0 баллов

Привет.

Я тут набросал урок с исходником, посмотрите его, возможно вам станет понятнее, как работает принцип «прототипирования».

Посмотреть флешку Скачать исходник

Ниже я приведу код флешки и постараюсь чуть-чуть объяснить, как же она работает. Хочу сразу сказать, что, в принципе, всё решение задачи вы описали сами. Нужно будет просто внутрь «главного контейнера» подгружать другие клипы и заменять текст в текстовом поле на нужный.

Код


Stage.align = "TL";
Stage.scaleMode = "noScale";
//Переменная, в которой мы будем запоминать сколько клипов было уже добавлено
var _count:Number = 0;
//Создаём функцию, которая будет добавлять новые клипы
function add_func(){
	_root._count++;
	//
	var _mc:MovieClip = _root.attachMovie("cont_mc","cont"+_root._count+"_mc",_root.getNextHighestDepth(),{_x:random(300), _y:random(300), _alpha: 90});
	//Изменяем текст в текстовом поле
	_mc.text_txt.text = "Текст клипа №"+_root._count;
	//Подключаем внутрь контейнера другой клип
	_mc.insideCont_mc.attachMovie("clip1_mc", "clip_mc", _root.getNextHighestDepth());
	//Изменяем текст внутри подгруженного клипа
	_mc.insideCont_mc.clip_mc.text_txt.text = _root._count+" клип";
	//Делаем так, чтобы кнопка add_mc была всегда на верху
	_root.add_mc.swapDepths(_root.getNextHighestDepth());
}
//Отслеживаем событие клика по кнопку «Добавить ешё один клип». При нажатии на эту
//кнопку будет срабатывать функция add_func
add_mc.onRelease = function(){
	_root.add_func();
}
//Добавляем первый клип
add_func();

А вот так вот у меня выглядит вкладка Library (чтобы вы лучше представляли, сколько клипов и с какими именами должно быть):

blanzh
28.02.09 | 14:12
0 баллов

О спасибо огромнее, вот тогда в догонку ещё 1 вопрос
представим что мы сделали клип в котором в свою очередь достаточно сложные движения с другими клипами.

Задача дублировать клип таким образом чтобы внутренние клипы тоже дублировались, я не особо силён ещё во флэш, мне приходилось делать это вручную и swap клипов в каждом ключевом кадре :(
простой пример необходимо сделать 9 таких клипов с разной картинкой надписью и ссылкой (малыми жертвами) =)

Зарание спасибо

blanzh
28.02.09 | 14:13
0 баллов
blanzh
28.02.09 | 16:35
0 баллов

Ещё можно пару вопросов?
1. Как в Movie Explorer поменять порядок клипов
2. Как поменять у клипа точку отсчета координат, если при создании указал не ту которую хотел

admin
01.03.09 | 01:49
0 баллов

Я посмотрел ваш исходник, внёс некоторые изменения, теперь там построена работа на классах. Я надеюсь вам будет понятно что я там сделал и как, если нет, то задавайте свои вопросы тут. Сам исходник можно скачать тут: http://www.flashist.ru/files/help/prototype_of_many_clips/prototype_of_many_clips_other_source.rar

Что касается вопросов:
1) Я не очень понимаю, на счёт какого «Movie Explorer» идёт речь, но если вам нужно поменять значение глубины для клипа, то вам нужно будет сделать следующее:

_mc.swapDepth(_number);

Где вместо _mc — имя клипа, а вмест _number — номер новой глубины, на которую будет помещён клип. Чем больше значение глубины, тем выше клип будет находиться визуально.

2) Поменять точку координат программно нельзя, но можно создать пустой клип-контейнер, внутрь которого подгружать нужный другой клип. Тогда, обращаясь к свойствам _width и _height клипа можно будет размещать его в нужной точке. Например если мы напишем:

_mc._x = -_mc._width/2;
_mc._y = -_mc._height/2;

Где вместо _mc у нас будет клип, который нужно будет отцентрировать внутри другого клипа, то клип встанет в центр клипа-контейнера.

blanzh
02.03.09 | 10:54
11 баллов

ссылка битая

admin
02.03.09 | 14:14
0 баллов

Сорри, поправил.

 
 
 
 

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

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

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

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