Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Flash > разборы c PROTOTYPE |
Автор: PROCESSOR 30.8.2005, 00:19 | ||
Хочу сделать наследника от TEXTFIELD.
типа вот так. Правильно ? А как его на экран то вывести ? |
Автор: AntonioBanderaz 30.8.2005, 04:29 | ||
скорее так... ![]() ![]() ![]() А выводится это как обычно созданием нового текстфиелда, а потом можешь обращаться к своему прототипу... ![]() ![]() |
Автор: Jlekc 30.8.2005, 10:20 | ||
|
Автор: PROCESSOR 30.8.2005, 16:30 |
А в этой книге вот так делалось : proscroll.prototype=new TextField() помоему вполне логично: теперь прототипы proscroll=textfield и к proscroll можно добавлять методы и конструктор переписывать ( как в моем примере ) вот только на экран его createTextField не вынуть. А MovieClip можно... тока очень мудно. Используя Object.registerClass и Linkage в библиотеке. Короче лево както. Вообще не особо врубаюсь что делает registerClass() - вот это обьясните. P.S. Вообщем-то я уже сделал чо хотел: - терь у мя все textField ( DYNAMIC и INPUT даже во время ввода ) со скроллами - подибие IFRAME. Следовательно списки, меню тоже ( см.ниже) ![]() - и вообще все динамические данные ( меню, списки всех типов, формы ) чрезвычайно удобно выводить черех Dynamic поле с HTML включенным. Особенно когда в XML все данные. И нажатие проверять через ASFUNCTION. УРРА ! Полностью перехожу на ООП ( на уровне function пока еще ). Правда код больше становиться. Но намного легче и универсальнее. |
Автор: AlDev 30.8.2005, 17:54 | ||
если кодить под mtasc - там нет понятия библиотеки, и для того, чтобы сделать attachMovie надо прописать класс, наследующий от MovieClip, в нём прописать registerClass, а затем уже можно делать attachMovie, обращаясь к классу. |
Автор: AntonioBanderaz 31.8.2005, 01:55 |
registerClass - выделяет новые видеоклипы в подкласс, т.е предварительно регистрирует видеоклипы как члены определённого класса, о как. А если понятней, то допустим начнём с AttachMovie, ты ведь можешь написать clip.attachMovie("ID","name",_level0.getN...Depth(),Obj); и у тебя твой проаттаченый клип будет обладать всеми свойствами объекта Obj, так... А если мы сделаем не объект а функцию, допустим reg = function() { this.vari = _global.ObjN++;} а теперь мы смело можем написать такой код: reg = function() { this.vari = _global.ObjN++; } _global.ObjN = 0; for(var i=0;i<3;i++) { this.attachMovie("ID","name"+i.toString(),this.getN...Depth(),new reg()); trace(this["name"+i.toString()].vari); } Теперь все клипы унаследовали свойства (локальные) которыми обладают экземпляры "класса" reg. Ну а теперь должно быть всё намного понятней и с registerClass... object.registerClass("ID", reg); И уже не обязательно писать каждый раз при аттаче что он наследует такой-то класс, всё будет происходить автоматически, даже при дупликации. Объект с linkegeID = ID, станет членом сласса reg, без потери всех присущих ему свойств и содержания... Ну просто разжевал как мог, точнее как сам это дело понимаю, если что поправьте... P.S. Про mtasc не знаю, собираюсь изучать, но все никак.... =) |
Автор: AlDev 31.8.2005, 03:47 | ||
AntonioBanderaz, а там примерно то-же самое, только покрасивее написано:
|