PDA

Просмотр полной версии : Обращение к методу создания textfield, хлп


Gary
14.07.2004, 13:48
FPlayer 7, AS2 (правда не через классы-пока)
В наличии:
MovieClip.prototype.MyTxtField=function (depth_Txt, xx, y, width_Txt, h_Txt, colorTxt) {
this.createTextField("txtName", depth_Txt, xx, y, width_Txt, h_Txt);
this.txtName.html = true;
this.txtName.multiline=true
this.txtName.wordWrap = true;
this.txtName.scroll = true;
this.txtName.text = "...момент...загружаем информацию...";
};
this.MyTxtField(12,11,22,200,200)//первое поле
this.createEmptyMovieClip("df",30)//второе текстовое и только через новый клип, почему?
this.df.MyTxtField(20,20,39,300,300)
вопрос: почему нельзя несколько раз обратиться к методу MyTxtField? с заданием разной глубины? Только через создание мува-холдера.
вопрос:Если это из-за дублирования имени текстового поля - то КАк мне в методе CreateTextField вместо определенно прописанного имени "txtName" прописать переменную - name_of_text_field?

Если я пишу в прототипе
MovieClip.prototype.MyTxtField=function (name_of_text_field , depth_Txt, ......){
......
this.createTextField(name_of_text_field,...)
...}
, то ничего в метод создания текстового поля в качестве имени его ( name_of_text_field) не передается.
Даже более точное написание прототипа через
this.name_of_text= name_of_text_field и т..п. дополнения не помогает.
Спасибо!

fiot
14.07.2004, 17:17
Object.prototype.MyTxtField = function(depth_Txt, xx, y, width_Txt, h_Txt, colorTxt) {
this.createTextField(["txtName"+depth_Txt], depth_Txt, xx, y, width_Txt, h_Txt);
this["txtName"+depth_Txt].html = true;
this["txtName"+depth_Txt].multiline = true;
this["txtName"+depth_Txt].wordWrap = true;
this["txtName"+depth_Txt].scroll = true;
this["txtName"+depth_Txt].text = "...ìîìåíò...çàãðóæàåì èíôîðìàöèþ...";
};
MyTxtField(12, 50, 22, 200, 200);
MyTxtField(13, 11, 100, 200, 200);

Gary
14.07.2004, 17:42
спасибо, но почему Object вместо MovieClip? Object же просто является надклассом MC? Почему _root позволяет однажды только использовать этот метод? Пару слов плз, я пойму :).

silin
14.07.2004, 20:23
Почему _root позволяет однажды только использовать этот метод?
потому что твой метод создает тф с одним и тем же именем
вот так посмотри (или модифицируй имя от глубины,как fiot
показал
MovieClip.prototype.MyTxtField=function (tfName,depth_Txt, xx, y, width_Txt, h_Txt, colorTxt) {
this.createTextField(tfName, depth_Txt, xx, y, width_Txt, h_Txt);
with(this[tfName]){
html = true;
multiline=true
wordWrap = true;
scroll = true;
text = "...момент...загружаем информацию...";
}
};
this.MyTxtField("t1",12,11,22,200,200)//первое поле
this.MyTxtField("t2",20,20,39,300,300)