PDA

Просмотр полной версии : Создание мувика и вставка на место первого (дублирование)


artemst
19.03.2008, 22:04
Здравия вам.
Вопрос вот каков:
Существует мувик (типа курсор), вот, и существует кнопка. По нажатию на кнопку должен создаваться новый мувиклип программно на месте том первом мувике (курсоре, его можно перемещать drag&drop)... В смысле с теми же координатами. Причём таких новых мувиков может создаваться сколько угодно (должно быть так), а у меня выходит что первый просто перемещается туда-сюда с нажатием кнопки (не дублируется)... Спасибо за помощь, заранее.

udaaff
19.03.2008, 22:10
Перемащайте контейнер, а мувики в него аттачте на одну и туже глубину.

artemst
19.03.2008, 22:15
b5.onRelease = function () {
jpg = createEmptyMovieClip("jpg"+i, getNextHighestDepth());
var mcLoader:MovieClipLoader = new MovieClipLoader();
var mclListener:Object = new Object();
mclListener.onLoadInit = function(target_mc:MovieClip) {
clone = createEmptyMovieClip("clone", getNextHighestDepth());
clone.attachBitmap(bmp, clone.getNextHighestDepth(), "auto", true);
};
mcLoader.addListener(mclListener);
mcLoader.loadClip(pic_txt.text, jpg); //pic_txt.text - путь до картинки
jpg._x = picts_cont._x;
jpg._y = picts_cont._y;

}


Вот код, тоже на форуме нашёл. Я извиняюсь, не могли бы вы показать какой должен быть код именно, что изменить?

picts_cont тут и есть этот самый курсор (мувик) на месте которого создается новый с той же картинкой и координатами. (создается то создается, но если курсор переместить то новый не создается, а просто старый на том же месте обновляется)

udaaff
19.03.2008, 22:35
Выложите исходник, а то я уже в конец запутался, пытаясь понять о чем идет речь.

artemst
19.03.2008, 22:41
Да исходник весит много из-за картинок подгружаемых.. Суть то вот в чём, мне просто напросто нужен код, который бы создавал новый мувик (при том кнопка может нажиматься сколько угодно раз и мувик должен быть каждый раз новый, а не перемещаться) на месте другого мувика, вот и всё (самая сложность то в том и есть, что сейчас он у меня не дублируется, а просто обновляется).

Molecula
20.03.2008, 02:12
Допустим, на сцене есть мувик 'mc' и мувик 'clone'.
Что бы при нажатии на мувик 'clone' появился мувик на месте 'mc', с названием 'mc1', нужно в кадре, первом, единственном, написать следующее:

var i:Number = 0;
clone.onPress = cloneMc;
function cloneMc(){
var dp:MovieClip = mc.duplicateMovieClip('mc'+i,i,{_x:mc._x, _y:mc._y});
i++
}

artemst
20.03.2008, 09:11
Допустим, на сцене есть мувик 'mc' и мувик 'clone'.
Что бы при нажатии на мувик 'clone' появился мувик на месте 'mc', с названием 'mc1', нужно в кадре, первом, единственном, написать следующее:

var i:Number = 0;
clone.onPress = cloneMc;
function cloneMc(){
var dp:MovieClip = mc.duplicateMovieClip('mc'+i,i,{_x:mc._x, _y:mc._y});
i++
}

Появляться - появляется. Но когда нажимаешь 2 раза, то первый мувик всё-равно стирается и образуется новый на новом месте. А нужно чтобы их было сколько угодно этих мувиков (в данном случае mc1, mc2, mc3 - чтобы они не стирались, когда нажимаешь на clone несколько раз, а сейчас когда нажимаешь на clone предыдущий мувик стирается, образуется новый)...:wacko:

iNils
20.03.2008, 13:30
Код выше правильный, это у вас чтото еще мешает процессу.

Molecula
20.03.2008, 17:40
artemst, причны две:
1) Глубины совпадают;
2) Ошибочное мнение о накладывании мувиков друг на друга, принимая это, как замещение.

artemst
20.03.2008, 19:03
Molecula, спасибо. Причина действительно была в том, что глубины совпадали, я немного неправильно переделал ваш код. Разобрался. Ещё раз спасибо.