| this.create |
16.07.2007 23:58 |
Цитата:
Сообщение от V_e_g_a
Почему не создается текстовое поле?
Код:
_root.createEmptyMovieClip ("b", 1);
b._x=150;
b._y=200;
b._width=50;
b._height=20;
b.createTextField("butt_1", 2, 150, 200, 50, 20);
butt_1.text="Button 1";
|
1. Вы создаете текстовое поле внутри пустого мувиклипа, отсчет координат текстового поля пойдет от верхнего левого угла мувиклипа, поэтому не нужно смещать текстовое поле на 150, 200. Поэтому:
Код:
b.createTextField("butt_1", 2, 0, 0, 50, 20);
butt_1.text="Button 1";
2.
Код:
b.createTextField("butt_1", 2, 0, 0, 50, 20);
butt_1.text="Button 1";
Текстовое поле создано внутри мувиклипа, а текст задается как будто оно создано на руте. Вот как правильно задать текст:
Код:
b.createTextField("butt_1", 2, 0, 0, 50, 20);
b.butt_1.text="Button 1";
3. Нет необходимости задавать ширину и длину пустому клипу - его ширина и длина сами увеличатся кода внутри появится содержимое. Проверьте:
Код:
_root.createEmptyMovieClip ("b", 1);
b._x=150;
b._y=200;
b.createTextField("butt_1", 2, 0, 0, 50, 20);
b.butt_1.text="Button 1";
//
trace([b._width,b._height])
4. Рекомендую использовать переменные-контейнеры для хранения ссылок на объекты. Так вы избавитесь от длинных и некрасивых полных путей к объектам:
Код:
var mc:MovieClip = this.createEmptyMovieClip("b", this.getNextHighestDepth());
mc._x = 150;
mc._y = 200;
var tf:TextField = mc.createTextField("butt_1", mc.getNextHighestDepth(), 0, 0, 50, 20);
tf.text = "Button 1";
|