Просмотр полной версии : createTextField в Классе
screamge
25.03.2007, 16:27
почему через класс не создаётся новое текстовое поле...вроде всё правильно делаю:
class Test extends MovieClip {
private var sus_txt:TextField;
public function Test (){
this.createTextField ("sus_txt", 1, 10, 10, 100, 20)
this.sus_txt.text = "some text"
}
}
или я не от отого расштряю?
Ну по-хорошему надо конструктор супер-класса вызвать.
А как ты клип с этим классом создаешь?
screamge
25.03.2007, 16:36
создаю так:
var texs:Test = new Test ();
texs.Test ()
вообще это просто пример, я пишу класс чуть-чть посложнее
просто с этим как-то не получается
Test наследник MovieClip, MovieClip так не создают.
screamge
25.03.2007, 16:40
а как?
я вас iNils чуть-чуть не понял
attachMovie, объекту в библиотеке указан класс Test
screamge
25.03.2007, 16:46
либо я не понял либо вы меня недопоняли...я не пытаюсь запихнуть на сцену мувиклип..я расширяю класс мувиклипом так как createTextField в другом случае выдаёт ошибку на стадии компиляции
моя задача создать на сцене текстовое поле
Вставте в конструктор класса
trace (this);
И моймете где вы пытаетесь создать текстовое поле.
screamge, прочти пост #7 ещё раз.
screamge
25.03.2007, 17:22
_etc, я то прочёл раз этак 7, но чесно говоря......вообщем что с ним? нельзя расширять базовыми классами, не то и ни для того экстендю...или ещё что-то?
iNils, всё понял что малазевс )...
Клипы с заданным классом аттачатся через attachMovie.
Можно хакнуть
class Test extends MovieClip {
private var sus_txt:TextField;
public function Test (mc:MovieClip){
mc.__proto__ = Test.prototype;
this = Test (mc);
trace (this);
this.createTextField ("sus_txt", 1, 10, 10, 100, 20)
this.sus_txt.text = "some text"
}
}
var texs:Test = new Test (this);
А можно просто
class Test {
private var sus_txt:TextField;
public function Test (mc:MovieClip){
mc.createTextField ("sus_txt", 1, 10, 10, 100, 20)
mc.sus_txt.text = "some text"
}
}
var texs:Test = new Test (this);
screamge
25.03.2007, 17:42
сенкс
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.