Просмотр полной версии : Как правильно передать параметр?
var kompas:TextFormat = new TextFormat("Verdana", 22, 0x000000, true, null, null, null, null, "center");
function kompas_view(k1, k2, k3, k4, k5, k6)
{
_root.createEmptyMovieClip (k1, k2)
k6._x=k3;
k6._y=k4;
k6.createTextField(k5, 1, 0, 0, 25, 30);
k6.k5.text=k1;
k6.k5.setTextFormat(kompas);
}
var ff:Number=0;
function rotate()
{
cr._rotation=cr._rotation+5;
if (cr._rotation==-90)
{
kompas_view("NN", 121, 388, 150, "kompas_1", "N");
ff=ff+1;
}
если писатьтак:
N._x=k3;
N._y=k4;
N.createTextField(k5, 1, 0, 0, 25, 30);
N.kompas_1.text=k1;
N.kompas_1.setTextFormat(kompas);
то все работает
не могу понять в чем ошибка
А нельзя называть переменные более осмысленно?
..аа, понял. Вы передаете в функцию строку и пытаетесть с ней обращаться как с мувиклипом.
параметры для функции я передаю
var kompas:TextFormat = new TextFormat("Verdana", 22, 0x000000, true, null, null, null, null, "center");
function kompas_view()
{
_root.createEmptyMovieClip (N, 121)
N._x=388;
N._y=150;
N.createTextField(kompas_1, 1, 0, 0, 25, 30);
N.kompas_1.text=N;
N.kompas_1.setTextFormat(kompas);
}
function rotate()
{
cr._rotation=cr._rotation+5;
if (cr._rotation==-90)
{
kompas_view();
}
}
в общем есть функция, которая создает клип
с ее помощью надо создать несколько клипов с разными:
именами
глубиной
координатами
текстовыми полями
как вызывая функцию передать ей все эти значения?
kompas_view("NN", 121, 388, 150, "kompas_1", "N");
Проще всего убрать ковычки. (что касается первого поста)
Всем спасибо, разобрался.
Если бы называли переменные осмысленно, было бы легче.
var compass:MovieClip = _root.createEmptyMovieClip( 'compass', _root.getNextHighestDepth() );
compass._x = Stage.width/2;
compass._y = Stage.height/2;
var fmt:TextFormat = font_txt.getTextFormat();
// font_txt - текстовое поле вне поля зрения с зашитыми буквами 'WNSE'
create_compass(compass, fmt, 50);
function create_compass( mc:MovieClip, fmt:TextFormat, radius:Number):Void{
var letterN:MovieClip = create_letter(mc, 'N', {_x:0,_y:-radius}, fmt);
var letterS:MovieClip = create_letter(mc, 'S', {_x:0,_y:radius,_rotation:180 }, fmt);
var letterW:MovieClip = create_letter(mc, 'W', {_x:-radius,_y:0,_rotation:-90 },fmt);
var letterE:MovieClip = create_letter(mc, 'E', {_x:radius,_y:0,_rotation:90 }, fmt);
}
function create_letter(timeline:MovieClip, label:String, poz:Object, fmt:TextFormat):MovieClip{
mc = timeline.createEmptyMovieClip (id, timeline.getNextHighestDepth());
for(var p:String in poz )mc[p] = poz[p];
var txt:TextField=mc.createTextField('txt', 1, 0, 0, 0, 0);
txt.embedFonts = true;
txt.autoSize = 'center';
txt.text=label;
txt.setTextFormat(fmt);
return mc;
}
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.