Вспышка: настройте этот код, чтобы сохранить дублированный фрагмент ролика - PullRequest
0 голосов
/ 14 января 2011

ОК, вот мой код

ham_mc.onPress=function(){
startDrag(this);
}
ham_mc.onRelease=ham_mc.onReleaseOutside=function(){
stopDrag();
_root.ham_mc.duplicateMovieClip("ham_mc" + "x",2);
x++;
}

Пользователь может сначала перетащить фрагмент ролика.После освобождения запускается команда duplicateMovieClip, в результате чего новый фрагмент видеоролика с ветчиной остается в положении, в которое перетаскивается первый.

ПРОБЛЕМА. Когда я щелкаю и перетаскиваю первый щелчок по фрагменту фильма с ветчиной, снова запускается duplicateMovieClip, но ЗАМЕНЯЕТпредыдущий сгенерированный видеоклип.

Я добавил x и x ++ в попытке присвоить дубликату фрагмента ролика другое имя каждый раз, но это не решает проблему.

Как изменить этот код, чтобы НОВЫЙham_mc создается каждый раз, а не перезаписывает старый.Я устал, извините за плохое объяснение!

Ответы [ 2 ]

0 голосов
/ 14 января 2011

Ответ Демиана верен, но только если ваш счетчик х совпадает с общим количеством мувиклипов на сцене.Кроме того, все клипы установлены в одинаковую позицию X и Y.Это должно работать лучше:

ham_mc.onPress=function(){
    startDrag(this);
}
ham_mc.onRelease=ham_mc.onReleaseOutside=function(){
    stopDrag();
    _root.ham_mc.duplicateMovieClip("ham_mc" + x ,_root.getNextHighestDepth());
    _root['ham_mc' + x]._x = _root._xmouse;
    _root['ham_mc' + x]._y = _root._ymouse;
    x++;
}
0 голосов
/ 14 января 2011

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

ham_mc.onPress=function(){
startDrag(this);
}
ham_mc.onRelease=ham_mc.onReleaseOutside=function(){
stopDrag();
_root.ham_mc.duplicateMovieClip("ham_mc" + x ,x);
_root['ham_mc' + x]._x = 50;
_root['ham_mc' + x]._y = 50;
x++;
}

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

Редактирование и тестирование1006 *

...