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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 27.07.2004, 15:07
: hr : вне форума Посмотреть профиль Отправить личное сообщение для : hr : Найти все сообщения от : hr :
  № 1  
: hr :

Регистрация: Nov 2003
Сообщений: 290
По умолчанию Вопрос по ООП

Друзья, подскажите пожалуйста, как назначить определенному MovieClip свойства и методы некого класса.
Т.е. есть 2 типа мувиклипов в фильме, и для каждого из этих типов хотелось бы иметь методы и свойства упорядоченные в класс.

Допустим,

function Class_A_Clip() {
// тут что-то
}
Class_A_Clip.prototype.Move_method = function() {
// тут метод
};
Class_A_Clip.prototype.Area_method = function() {
// и тут метод
};


// и аналогично второй класс

function Class_B_Clip() {
}
Class_B_Clip.prototype.say_Hi_method = function() {
};
Class_B_Clip.prototype.Kill_method = function() {
};


Так вот теперь, предположим имея на сцене мувик Clip1, хочется что-бы он унаследовал все методы и свойства Class_A_Clip.

Пишу:

Clip.prototype.__proto__ = Class_A_Clip.prototype;

- не работает,
а если:

MovieClip.prototype.__proto__ = Class_A_Clip.prototype;

- работает, однако естественно для всех мувиклипов на сцене.

Как быть?

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

Регистрация: Aug 2001
Сообщений: 4,121
либо так:
Class_B_Clip.prototype.__proto__ = Class_A_Clip.prototype;

либо перед заполнением прототипа класса Б:
Class_B_Clip.prototype = new Class_A_Clip();

Старый 27.07.2004, 16:37
: hr : вне форума Посмотреть профиль Отправить личное сообщение для : hr : Найти все сообщения от : hr :
  № 3  
: hr :

Регистрация: Nov 2003
Сообщений: 290
Nox , уважаемый, ты не понял. Мне нужно чтобы не
Class_B_Clip унаследовал всё от Class_A_Clip, как ты пишешь

Цитата:
либо так:
Class_B_Clip.prototype.__proto__ = Class_A_Clip.prototype;

либо перед заполнением прототипа класса Б:
Class_B_Clip.prototype = new Class_A_Clip();
, а мувиклип Clip1 имел все те методы и свойства, описанные в Class_A_Clip. Мне хочется применить эти методы к реальному клипу, конкретному объекту класса MovieClip.

Вот так я применяю ко всем:
MovieClip.prototype.__proto__ = Class_A_Clip.prototype;

а мне нужно к определенному! под именем Clip, допустим.

Старый 27.07.2004, 21:59
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 4  
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
A = function(){}
A.prototype=new MovieClip();
A.prototype.someMethod=function(){...}
MovieClip.prototype.addClass=function(c){this.__proto__= c.prototype;}
clip.addClass(A);

Старый 28.07.2004, 12:56
: hr : вне форума Посмотреть профиль Отправить личное сообщение для : hr : Найти все сообщения от : hr :
  № 5  
: hr :

Регистрация: Nov 2003
Сообщений: 290
silin, большое спасибо!

Создать новую тему   Часовой пояс GMT +4, время: 10:47.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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