PDA

Просмотр полной версии : dublicateMovieClip


kamjan
04.07.2005, 14:59
У меня есть карта страны, для каждой области на каждую область должен отображаться типа разноцветные кружки. Цвет я меняю в зависимости от значений, скачаных из xml. Потом я создаю в экшине обработку. Создаю слои в которых я отображаю мои кружки за границей области, а потом я с помошью dublicaetMovieClip(...,...) копирую соответствующие кружки на разные положения областей. Так вот они у меня не хотят отображаться, в чем проблема?

KUZEN
04.07.2005, 15:01
вообще удобнее здесь пользоваться attachMovie ... а вопроса тя так и не увидел, только то что ты делаешь написал , а проблему изложить забыл ...

looptroop
04.07.2005, 17:21
Mojet potomu 4to duplicateMovieClip(), a ne dublicateMovieClip()? Ili razboraisya s 'depth'. Dumayu v etom problema.

kruasan
04.07.2005, 17:41
Покажи, как ты применяешь свой duplicateMovieClip

dilsh
10.07.2005, 23:53
не поможете разобраться с дубликатом?
есть мувик называется mc есть кнопка на ней написан этот код

on (release) {
var i:Number = 2;
//interval = setInterval(function () {
i++;
removeMovieClip(this["mc"+i]);
this.mc1.duplicateMovieClip("mc"+i, this.getNextHighestDepth(), {_x:Math.floor(Math.random()*1000), _y:Math.floor(Math.random()*1000)});
if (i>20) {
i = 2;
}
//}, 300);
}



все работает нормально, т.е. мувик дублируется, но если засунуть все это в интервал функцию (убрать коментарии) то отказывается на отрез дублировать
хотел чтобы в разных местах дублировался мувик, бьюсь уже третий час
в упор не пойму в чем проблема
тресировал i все нормально меняется от 2 до 20 и опять сначала.
подскажите плиз если сталкивались с подобным
заранее спасибо

dilsh
11.07.2005, 00:29
вопрос снят работеат, надо было this убрать
интересно почему

on (release) {
var i:Number = 2;
interval = setInterval(function () {
i++;
trace(i);
removeMovieClip(this["mc"+i]);
mc1.duplicateMovieClip("mc"+i, getNextHighestDepth(), {_x:Math.floor(Math.random()*1000), _y:Math.floor(Math.random()*1000)});
if (i>20) {
i = 2;
}
}, 300);
}

KidsKilla
11.07.2005, 13:20
потому что интервалу насрать на области видимости.
можно (и нужно) так:

my_btn.onRelease = function() {
var i:Number = 2;
interval:Number = setInterval(function (scope) {
scope.i++;
trace(scope.i);
scope.removeMovieClip("mc"+i]);
scope.mc1.duplicateMovieClip("mc"+i, scope.getNextHighestDepth(), {_x:Math.floor(Math.random()*1000), _y:Math.floor(Math.random()*1000)});
if (scope.i>20) {
scope.i = 2;
}
}, 300, this);
}

кстати, не стоит мешать акшн скрипт 2 и 1н