PDA

Просмотр полной версии : не могу нащупать созданный мувик. для функции своя специфика?


polol
07.01.2009, 18:25
не могу нащупать созданный мувик. и координаты tracить не получается. для функции какая-то своя специфика?


function addName (clipName:String, depth:Number, yPlace, xPlace, textFieldName:String, textContent:String) {

this.createEmptyMovieClip ("clipName" , depth)

this.clipName._y = yPlace;
this.clipName._x = xPlace;


this.clipName.createTextField("textFieldName", this.clipName.getNextHighestDepth(), 0, 0, 200, 100);


var mytext_format = new TextFormat();
mytext_format.font = 'Arial';
mytext_format.size = 18;
mytext_format.color = 0x000000;

this.clipName.textFieldName.embedFonts = true;
this.clipName.textFieldName.setNewTextFormat(mytext_format);

this.clipName.textFieldName.text = textContent

}


addName (numberBox01, 9, 10 , 100 , textInside1, "01")
addName (numberBox02, 8, 10 , 200 , textInside2, "02")
addName (numberBox03, 7, 10 , 300 , textInside3, "03")
addName (numberBox04, 6, 100 , 100 , textInside4, "04")
addName (numberBox05, 5, 100 , 200 , textInside5, "05")
addName (numberBox06, 4, 100, 300 , textInside6, "06")
addName (numberBox07, 3, 200 , 100 , textInside7, "07")
addName (numberBox08, 2, 200 , 200 , textInside8, "08")
addName (numberBox09, 1, 200 , 300 , textInside9, "09")

trace(this.numberBox01._x)


спасибо

fljot
07.01.2009, 18:37
в своей функции первый параметр вы объявили как строка:
function addName (clipName:String,
а передаёте туда что-то, но точно не строку
addName (numberBox01, 9, 10 , 100 , textInside1, "01")


это имело бы смысл:

function addName (clipName:String, depth:Number, yPlace, xPlace, textFieldName:String, textContent:String) {

var clip:MovieClip = this.createEmptyMovieClip (clipName, depth);

clip._y = yPlace;
....



и ещё это вернёт ссылку на ваш созданный клип
this[clipName], а не this.clipName

DarkLight
07.01.2009, 18:40
function addName (clipName:String,....

При таком вызове
addName (numberBox01, 9, 10 , 100 , textInside1, "01")
вы передаете не строчку, а объект numberBox01, которого не существует. Имя будет у клипа "undefined" поэтому.

Вот так правильно:
addName ("numberBox01", 9, 10 , 100 , textInside1, "01")

(это минус AS1/2 кстати: не распознается использование ссылок на несуществующие объекты. В AS3 компилятор за это сразу ругает)

polol
07.01.2009, 19:08
не знаю, правильно ли я скорректировал, но значения trace не соответствуют истине...

function addName (clipName:String, depth:Number, yPlace, xPlace, textFieldName:String, textContent:String) {

var clip:MovieClip = this.createEmptyMovieClip (clipName , depth)

clip._y = yPlace;
clip._x = xPlace;


this[clipName].createTextField("textFieldName", this[clipName].getNextHighestDepth(), 0, 0, 200, 100);


var mytext_format = new TextFormat();
mytext_format.font = 'Arial';
mytext_format.size = 18;
mytext_format.color = 0x000000;

this[clipName].textFieldName.embedFonts = true;
this[clipName].textFieldName.setNewTextFormat(mytext_format);

this[clipName].textFieldName.text = textContent

}

addName (numberBox01, 9, 10 , 100 , textInside1, "01")
addName (numberBox02, 8, 10 , 200 , textInside2, "02")
addName (numberBox03, 7, 10 , 300 , textInside3, "03")
addName (numberBox04, 6, 100 , 100 , textInside4, "04")
addName (numberBox05, 5, 100 , 200 , textInside5, "05")
addName (numberBox06, 4, 100, 300 , textInside6, "06")
addName (numberBox07, 3, 200 , 100 , textInside7, "07")
addName (numberBox08, 2, 200 , 200 , textInside8, "08")
addName (numberBox09, 1, 200 , 300 , textInside9, "09")

trace(this[numberBox01]._y)


Добавлено через 2 минуты
вверху это был ответ для fljot

>darkLight
сейчас попробую

Zik.
07.01.2009, 19:11
polol, зачем второй раз вставлять код?

polol
07.01.2009, 19:18
"numberBox01" в комбинации с советом fljot работает!

премного благодарен