Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Flash > ActionScript

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 05.09.2002, 18:32
Baltika вне форума Посмотреть профиль Отправить личное сообщение для Baltika Посетить домашнюю страницу Baltika Найти все сообщения от Baltika
  № 61  
Baltika

Регистрация: Oct 2000
Сообщений: 1,593
Отправить сообщение для Baltika с помощью ICQ Отправить сообщение для Baltika с помощью MSN Отправить сообщение для Baltika с помощью Skype™
lexass, яж грил в самом начале - нада была спрашивать про ГоТо

а так тебе ничего никто не объяснил, да еще и во флудеры записали...

Старый 05.09.2002, 19:21
john вне форума Посмотреть профиль Отправить личное сообщение для john Посетить домашнюю страницу john Найти все сообщения от john
  № 62  
john
МЕГАФЛЭШЕР

Регистрация: May 1999
Адрес: Россия, Москва
Сообщений: 1,181
__proto__ как говорилось выше,

это ссылка на prototype конструктора,

и все,

конструктор в принципе может уже использовать другой прототип, (подменить), но потомок будет иметь тот же объект в __proto__ , что получил при рождении.

все просто, у конструктора prototype у экземпляра - __proto__

Но помоему большинство мессаг этого топика посвещено другому, и к этой теме не посвящены,

глумление короче, все все знают и глумятся
модно это стало на форуме....


обратно к теме,

я почти не использую __proto__ кроме некоторых случаев,

использование общих для всех экземпляров каунтеров, или ссылок на все экземпляры классы,

пример :

Код:
this.depth  = ++this.__proto__.counter  + 999;
 
var o = this.holder = _root.createEmptyMovieClip("alt_"+c+"_mc",this.depth )
это чтбы все экземпляры класса имели различные depth у своих мувиков....

или же

Код:
//*************************************************************************
//*************************************************************************
//
// Primer CLASS    created: [17:29:22 , Thursday, September 05, 2002]
//
//*************************************************************************
//*************************************************************************

#initclip

//-------------------------------------------------------------------------
// class constructor
//-------------------------------------------------------------------------

_global.C_PrimerCLASS = function()
{
 this.init();
}

//-------------------------------------------------------------------------
// create prototype
//-------------------------------------------------------------------------

C_PrimerCLASS.prototype = new MovieClip();

//-------------------------------------------------------------------------
// class default attributes
//-------------------------------------------------------------------------

C_PrimerCLASS.prototype.allInstances = []; 

//*************************************************************************
//-------------------------------------------------------------------------
// class methods
//-------------------------------------------------------------------------

C_PrimerCLASS.prototype.init = function()
{
 this.__proto__.allInstances.push(this); 
 
 /*
 
  и так далее
 
 */
}

//-------------------------------------------------------------------------
// class methods
//-------------------------------------------------------------------------

C_PrimerCLASS.prototype.onUnload = function()
{
 var a = this.__proto__.allInstances;  
 for (var i=0;i<a.length;i++)
 {
  if(a[i] == this)
  {
   a.splice(i,1);
  }
 }
}

//-------------------------------------------------------------------------
// call all instances
//-------------------------------------------------------------------------

C_PrimerCLASS.prototype.callAll = function()
{
 var a = this.__proto__.allInstances;  
 for (var i=0;i<a.length;i++)
 {
  a[i].onChange(this);
 }
 
 /*
 
  и так далее 

 */
}

//-------------------------------------------------------------------------
// onChange
//-------------------------------------------------------------------------

C_PrimerCLASS.prototype.onChange = function(changed)
{
 trace(changed);
}

//-------------------------------------------------------------------------
// register
//-------------------------------------------------------------------------

ASSetPropFlags(_global,"C_PrimerCLASS",131);

Object.registerClass("C_PrimerCLASS",C_PrimerCLASS)

#endinitclip
еще одно применение (у меня) __proto__ это обработака только "локальных" , "собственных" полей класса, и не обработка наследованных,

например хочется в цикле пройтись по всем полям и не трогать наследованные,

вот пример,

Код:
//-------------------------------------------------------------------------
// clone object
//-------------------------------------------------------------------------

Object.prototype.clone  = function()
{
 var empty_object = new this.constructor();
 empty_object.__proto__ = this.__proto__; 
 return empty_object.copy(this);
}

//-------------------------------------------------------------------------
// copy params of any object
//-------------------------------------------------------------------------

Object.prototype.copy  = function()
{
 var proto = arguments[0].__proto__;
 arguments[0].__proto__ = undefined; 
 
 for(var v in arguments[0])
 {
  this[v] = arguments[0][v];
 }

 arguments[0].__proto__ = proto; 
 
 return this;
}

//-------------------------------------------------------------------------
// clear params by default
//-------------------------------------------------------------------------

Object.prototype.clear = function()
{
 var proto = this.__proto__;
 this.__proto__ = undefined;  
 for(var v in this) delete this[v];
 
 this.constructor.apply(this,arguments)
 
 this.__proto__ = proto; 
}
удачи


Последний раз редактировалось УильямБрэдберри; 05.09.2002 в 19:57.
Старый 05.09.2002, 19:56
Nox Noctis вне форума Посмотреть профиль Отправить личное сообщение для Nox Noctis Посетить домашнюю страницу Nox Noctis Найти все сообщения от Nox Noctis
  № 63  
Nox Noctis
don't panic!
 
Аватар для Nox Noctis

Регистрация: Aug 2001
Сообщений: 4,121
ну, вот, все встало на свои места :))

здравствуй, джон :)))
давно тебя не видно что-то... скучно стало ? ;))

я, если честно, вчера думал, что лехасс прикалывается... сегодня прихожу - а тут такого нагнали... флудеры короче :) гнусные мерзкие флеймеры :)

Старый 05.09.2002, 20:03
Nox Noctis вне форума Посмотреть профиль Отправить личное сообщение для Nox Noctis Посетить домашнюю страницу Nox Noctis Найти все сообщения от Nox Noctis
  № 64  
Nox Noctis
don't panic!
 
Аватар для Nox Noctis

Регистрация: Aug 2001
Сообщений: 4,121
неконструктивное замечание:
Цитата:
ASSetPropFlags(_global,"C_PrimerCLASS",131);
прикольно :)
а почему именно '131' ? ;)
можно было написать, к примеру,
ASSetPropFlags(_global,"C_PrimerCLASS",187227);
:)
хотя
ASSetPropFlags(_global,"C_PrimerCLASS",3);
- это не для настоящих мачо :)) это да :))

Старый 05.09.2002, 20:12
john вне форума Посмотреть профиль Отправить личное сообщение для john Посетить домашнюю страницу john Найти все сообщения от john
  № 65  
john
МЕГАФЛЭШЕР

Регистрация: May 1999
Адрес: Россия, Москва
Сообщений: 1,181


привет, Nox Noctis

да, заскучал слегка...

Цитата:
а почему именно '131' ?
ты прав, конечно можно и другую циферку,

но такая циферка используется при создании всех классов флэша, видел в коде инициализации плейера

вот и подумал что она получшее

и еще можно класс после регистрации (registerClass) вообще удалять, как поле,
чтобы не плодить,

но вдруг нужен будет, например будет суперклассом для другого класса, вот я и закрываю его просто.

Старый 05.09.2002, 21:00
Nox Noctis вне форума Посмотреть профиль Отправить личное сообщение для Nox Noctis Посетить домашнюю страницу Nox Noctis Найти все сообщения от Nox Noctis
  № 66  
Nox Noctis
don't panic!
 
Аватар для Nox Noctis

Регистрация: Aug 2001
Сообщений: 4,121
хммм.... видать это поставлено "на всякий пожарный"...
видимо критична единичка в старшем бите...
в пятерке например вместо нуля нужно ставить 8 - чтобы полностью разлочить свойства...

просто забавно :) вместо '3' ставить '131'... :))

Старый 05.09.2002, 21:16
DeliMIter вне форума Посмотреть профиль Отправить личное сообщение для DeliMIter Найти все сообщения от DeliMIter
  № 67  
DeliMIter
некрофил
 
Аватар для DeliMIter

Регистрация: Mar 2002
Адрес: ...по колено в кровище...
Сообщений: 2,292
Ой как смешно, ха-ха три раза...
__________________
...убивать людей не удовольствия ради, но для еды.

Старый 05.09.2002, 21:25
Nox Noctis вне форума Посмотреть профиль Отправить личное сообщение для Nox Noctis Посетить домашнюю страницу Nox Noctis Найти все сообщения от Nox Noctis
  № 68  
Nox Noctis
don't panic!
 
Аватар для Nox Noctis

Регистрация: Aug 2001
Сообщений: 4,121
бэээээ :))))
*показывает язык*

Старый 06.09.2002, 10:20
lexass вне форума Посмотреть профиль Отправить личное сообщение для lexass Посетить домашнюю страницу lexass Найти все сообщения от lexass
  № 69  
lexass
 
Аватар для lexass

Регистрация: Sep 2000
Адрес: SPb
Сообщений: 3,374
Отправить сообщение для lexass с помощью ICQ
Thumbs up Пришли наконец-то знаюшие лЮди

покидались кусками кодов :/

Цитата:
глумление короче, все все знают и глумятся
сумневаюсЬ что все знают :/

ЗЫ
про функцию "ASSetPropFlags()" я ничего не слышал, не знаю и спрашивать небуду

ЗЗЫ
Ладно вопрос ДНЯ:

Как это все применимо во флеш5 ???


и не флудеры мы вовсе, так вопросики решаем...
__________________
Старый плюс лучше новых двух.
I like RTFM
попросил - подожди - обработай
Chr(255) == '\xFF' - это про "я"
lexass


Старый 06.09.2002, 10:49
Baltika вне форума Посмотреть профиль Отправить личное сообщение для Baltika Посетить домашнюю страницу Baltika Найти все сообщения от Baltika
  № 70  
Baltika

Регистрация: Oct 2000
Сообщений: 1,593
Отправить сообщение для Baltika с помощью ICQ Отправить сообщение для Baltika с помощью MSN Отправить сообщение для Baltika с помощью Skype™
2john

спасибо!
а то я все голову ломал над тем как и где можно найти для __proto__ реальной применение....

ЗЫ lexass, слезай с пятерки, переходи на........ четверку


Последний раз редактировалось Baltika; 06.09.2002 в 10:51.
Создать новую тему   Часовой пояс GMT +4, время: 11:49.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 11:49.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.