Модераторы: SoWa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> разборы c PROTOTYPE 
:(
    Опции темы
PROCESSOR
Дата 30.8.2005, 00:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 238
Регистрация: 25.5.2005

Репутация: нет
Всего: нет



Хочу сделать наследника от TEXTFIELD.

Код

proscroll.prototype=new TextField() 

function proscroll (){
    this._x=200
    this._y=200    
    this._width=200
    this._height=200
}


типа вот так. Правильно ? А как его на экран то вывести ?
PM MAIL   Вверх
AntonioBanderaz
Дата 30.8.2005, 04:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Velichko Anton
**


Профиль
Группа: Участник
Сообщений: 851
Регистрация: 28.4.2005
Где: Санкт-Петербург

Репутация: 1
Всего: 18



Код

TextField.prototype.proscroll = function() {
    this._x=200    
    this._y=200     
    this._width=200    
    this._height=200
}

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


--------------------
ГЫ... 
PM MAIL ICQ   Вверх
Jlekc
Дата 30.8.2005, 10:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 520
Регистрация: 10.2.2005
Где: Leopolis

Репутация: 3
Всего: 4



Код

proscroll.prototype.__proto__ = TextField.prototype



--------------------
PM MAIL ICQ   Вверх
PROCESSOR
Дата 30.8.2005, 16:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 238
Регистрация: 25.5.2005

Репутация: нет
Всего: нет



А в этой книге вот так делалось :

proscroll.prototype=new TextField()

помоему вполне логично:

теперь прототипы proscroll=textfield
и к proscroll можно добавлять методы и конструктор переписывать ( как в моем примере )

вот только на экран его createTextField не вынуть. А MovieClip можно... тока очень мудно. Используя Object.registerClass и Linkage в библиотеке. Короче лево както.

Вообще не особо врубаюсь что делает registerClass() - вот это обьясните.

P.S.

Вообщем-то я уже сделал чо хотел:

- терь у мя все textField ( DYNAMIC и INPUT даже во время ввода ) со скроллами - подибие IFRAME. Следовательно списки, меню тоже ( см.ниже) smile

- и вообще все динамические данные ( меню, списки всех типов, формы ) чрезвычайно удобно выводить черех Dynamic поле с HTML включенным. Особенно когда в XML все данные. И нажатие проверять через ASFUNCTION.

УРРА ! Полностью перехожу на ООП ( на уровне function пока еще ). Правда код больше становиться. Но намного легче и универсальнее.


Это сообщение отредактировал(а) PROCESSOR - 30.8.2005, 16:35
PM MAIL   Вверх
AlDev
Дата 30.8.2005, 17:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный идиотъ
***


Профиль
Группа: Участник Клуба
Сообщений: 1927
Регистрация: 17.4.2005
Где: Irk, rus

Репутация: 9
Всего: 50



Цитата(PROCESSOR @ 30.8.2005, 21:30)
Вообще не особо врубаюсь что делает registerClass() - вот это обьясните.


если кодить под mtasc - там нет понятия библиотеки, и для того, чтобы сделать attachMovie надо прописать класс, наследующий от MovieClip, в нём прописать registerClass, а затем уже можно делать attachMovie, обращаясь к классу.

PM MAIL WWW ICQ YIM MSN   Вверх
AntonioBanderaz
Дата 31.8.2005, 01:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Velichko Anton
**


Профиль
Группа: Участник
Сообщений: 851
Регистрация: 28.4.2005
Где: Санкт-Петербург

Репутация: 1
Всего: 18



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 не знаю, собираюсь изучать, но все никак.... =)



--------------------
ГЫ... 
PM MAIL ICQ   Вверх
AlDev
Дата 31.8.2005, 03:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный идиотъ
***


Профиль
Группа: Участник Клуба
Сообщений: 1927
Регистрация: 17.4.2005
Где: Irk, rus

Репутация: 9
Всего: 50



AntonioBanderaz,
а там примерно то-же самое, только покрасивее написано:
Код

class some_class extends MovieClip
{
        public static var SymbolName:String = "__Packages.some_class";
        public static var SymbolOwner:Object = some_class;
        public static var SymbolLinked = Object.registerClass(SymbolName, SymbolOwner);
}
//usage:
import some_class
...
_root.attachMovie(some_class.SymbolName,'some_class_instance',_root.getNextHighestDepth());


Это сообщение отредактировал(а) Alex Batsuev - 31.8.2005, 03:48
PM MAIL WWW ICQ YIM MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Flash"
AlDev
SoWa
  • Если вы хотите предложить кому-либо работу, то пишите или в личку, или оставляйте сообщения в специально предназначеном для этого форуме "Объявления о найме специалистов"
  • Один вопрос - одна тема. Не надо переходов от одного вопроса к другому.
  • Если вы хотите показать какой-нибудь ваш мульт, причём показать, а не предоставить исходник, то вам сюда
  • Вопросы про программирование на ActionScript 1,2 (Flash 8 и более ранние версии) пишите в форуме ActionScript 1,2
  • Вопросы по разработке интернет-приложений на Flex и вопросы по MXML пишите в раздел Flex
  • Смотрим в будущее. ActionScript 3 обсуждается в форуме ActionScript 3
  • Новости из мира Flash.
  • New! [code=ascript][/code] - подсветка ActionScript + wikipedia help

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, AlDev, SoWa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Flash | Следующая тема »


 




[ Время генерации скрипта: 0.0705 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.