PDA

Просмотр полной версии : duplicateMovieClip(_root.text,"text"+i,i)


opex
14.10.2003, 15:58
ни кто не знает по чему не дублирует TextField созданный
createTextField



_root.createTextField("mytext", 362, 100, 90, 90, 20);
myformat = new TextFormat();
myformat.align = "right";
mytext.border = true;
mytext.text = "1";
mytext.setTextFormat(myformat);
for (i=1; i<360; i++) {
duplicateMovieClip(_root.mytext, "text"+i, i);
setProperty("text"+i, _rotation, i);
}

JeeP
14.10.2003, 16:42
во первых синтаксис для "duplicateMoveClip" -> RTFM

во вторых "duplicateMoveClip" всю жизнь был методом MoveClip, а не TextField! -> делай выводы

llllllllll
14.10.2003, 16:50
Да вот нет :)

Насколько я понимаю этот код вроде рабочий (по идее) и дупликаты будут, можно заюзать CTRL+ALT+V - и глянуть прав я или нет, но вот че да как я хз :), там траблов много, насколько я помню с текстовыми полями ...

p.s.: вращение естественно убрать, или делать эмбеженный фонт.

JeeP
14.10.2003, 18:36
Да, ВОТ, нет :)

в какойто мере код действительно рабочий,
и дубликаты будут в листе вариабласов, вроде и визибл у всех тру и координаты выдает разные, но не видать их хоть убей.

если перед duplicateMoveClip поставить ссылку(_root или this)
_root.duplicateMovieClip("mytext", "text"+i, i);
то дубликатов уже не будет! почему?
не знаю фича это или баг??? возможно это что-то недоделаное разработчиками.

sergwizard
15.10.2003, 01:30
Вообще-то странно: - сначала что-то создавать с помощью АS, а потом это дуплить. Не легче ли сразу создавать нужное количество? Примерно так:

for(i=0;i<360;i++){
this.createTextField("mytext"+i, i, 100, 90, 90, 20);
_root["mytext"+i].border = true;
_root["mytext"+i].text = "1";
_root["mytext"+i].embedFonts = true;
_root["mytext"+i]._rotation = i;
myformat = new TextFormat();
myformat.align = "center";
_root["mytext"+i].setTextFormat(myformat);
}

Вроде бы нормально, и все _root["mytext"+i] видны... Но, содержимого не видно!!! Хотя оно и есть. О, как! Очевидное - невероятное.

derhab
15.10.2003, 02:02
если создать в библиотеке новый фонт и залинковать его, то все будет, и rotation и содержимое полей.


for (i=0; i<18; i++) {
this.createTextField("mytext"+i, i, 100, 90, 90, 20);
this["mytext"+i].border = true;
this["mytext"+i].text = "1234";
this["mytext"+i].embedFonts = true;
this["mytext"+i]._rotation = i*20;
myformat = new TextFormat();
myformat.align = "right";
myformat.font = "arial";
_root["mytext"+i].setTextFormat(myformat);
}

opex
15.10.2003, 09:01
сенкс derhab
я както сразу недогнал что дубликейт можно не использовать