PDA

Просмотр полной версии : проблема с textField


woozlik
14.02.2007, 00:05
хочу создать в мувиклипе дочерний textField


mc_txt=this.createEmptyMovieClip("mc_txt", this.getNextHighestDepth());
txt = this.mc_txt.createTextField("eff", this.mc_txt.getNextHighestDepth(), 0, 0, 100, 200);

textField не создается, я, честно говоря, не понимаю в чем проблема.

заранее спасибо

kmkhi
14.02.2007, 00:08
а mc создался ?

woozlik
14.02.2007, 00:15
создался
причем дочерние мувиклипы создаются, а текстфилды никак. это вообще возможно?

pkfun
14.02.2007, 00:20
var myMc:MovieClip = this.createEmptyMovieClip('mc', this.getNextHighestDepth());
var myTf:TextField = myMc.createTextField('eff', myMc.getNextHighestDepth(), 0, 0, 100, 200);
myTf.text = 'done!';
Все прекрасно создается.
У вас какой флэш(версия) и как вы проверяете что поле создалось?

kmkhi
14.02.2007, 00:21
this.createTextField("my_txt", depth, 100, 100, 300, 100);
my_fmt.color = 0xFF0000;
my_txt.text = "This is my first test field object text.";

Таким образом создавать пробовал ?

kmkhi
14.02.2007, 00:22
Не успел ))) вопрос в размерах начальных

woozlik
14.02.2007, 00:37
версия 8, проверяю trace, mc_txt пишет, а txt пишет undefined

pkfun
14.02.2007, 00:45
Такое может быть в AS1 и шестом плеере так как в шестом плеере TextField не возвращает ссылку на созданный экземпляр и по этой причине не удасться использовать конструкцию вида:
var myTf = myMc.createTextField('eff', 1, 0, 0, 100, 200);
Вместо нее используйте такую конструкцию:
myMc.createTextField('eff', 1, 0, 0, 100, 200);

Таким образом рабочий код будет таким:
var myMc = this.createEmptyMovieClip('mc', this.getNextHighestDepth());
myMc.createTextField('eff', this.getNextHighestDepth(), 0, 0, 100, 200);
myMc.eff.text = 'done!';

etc
14.02.2007, 00:47
Проверяй области видимости, что и где ты создаешь. И, кстати, в какой версии работаешь?

pkfun
14.02.2007, 00:53
Проверьте версию плеера в настройках публикации( такое может быть при 7 или 6).

woozlik
14.02.2007, 00:54
спасибо, я разобралась:) код работает, просто я сглючила

KLieriK
14.02.2007, 01:17
вот у меня что-то типа тогоже было.
я делал обжект.. в него пихал все настройки...
и создавал текствилд так:
var qwe:TextField = this.createTextField('name', getNextHighestDepth(), objProp);

вот такое выдавало ундефаинед.
а указав сразу в нем х,у, ширину и высоту все ок.
просто при создании ети параметры указывать обязательно, видимо, надо.
и через обжект он их воспринимать автомато не хочет.

зы: 8рка, АС2

pkfun
14.02.2007, 01:29
public createTextField(instanceName:String, depth:Number, x:Number, y:Number, width:Number, height:Number) : TextField
Вот так прописано создание экземпляра текстового поля. Интересно, почему вы решили, что сможете создавать так как вам хочется? Ведь вы нарушаете работу класса.
Если вы хотите организовать свой ввод параметров, то вам наверно следовало бы расширить этот класс и создать свой конструктор...