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

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

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

Регистрация: Oct 2001
Сообщений: 146
По умолчанию Объекты.

У меня есть 8 мувиков. Набор действий, которые могут быть выполнены по отношению к каждому из них, одинаковы для всех. Так вот тут напрашивается такое решение - описать класс и сделать 8 экземпляров. Но у меня возник такой вопрос: если я не хочу создавать новые объекты, а хочу "приделать" методы к самим мувикам, то как мне поступить тогда? Писать восемь раз одну и ту же функцию для каждого мувика глупо, а воспользовать оператором new я тоже не могу, потому что объекты уже существуют. Как мне лучше всего поступить? Спасибо.

Старый 29.04.2002, 18:55
RDA вне форума Посмотреть профиль Отправить личное сообщение для RDA Посетить домашнюю страницу RDA Найти все сообщения от RDA
  № 2  
RDA
 
Аватар для RDA

Регистрация: Sep 2000
Адрес: Москва
Сообщений: 239
MovieClip.prototype.myMethod = function () { };

Старый 29.04.2002, 19:12
Corpse вне форума Посмотреть профиль Отправить личное сообщение для Corpse Найти все сообщения от Corpse
  № 3  
Corpse

Регистрация: Oct 2001
Сообщений: 146
По умолчанию Не совсем корректно.

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

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

Регистрация: Jan 2002
Адрес: СПб-Denver-Лермонтов
Сообщений: 1,525
По умолчанию Smart Clips

Посмотри Smart Clips. Я думаю, это то , что тебе нужно.
__________________
Для того чтобы узнавать, есть два способа: - задавать вопросы и пытаться самому на них ответить. Второй способ более продуктивный.
(S.Wizard)

Старый 29.04.2002, 22:40
УильямБрэдберри вне форума Посмотреть профиль Отправить личное сообщение для УильямБрэдберри Посетить домашнюю страницу УильямБрэдберри Найти все сообщения от УильямБрэдберри
  № 5  
УильямБрэдберри
Мастер Цифрового Облика
 
Аватар для УильямБрэдберри

Регистрация: Apr 2000
Адрес: где-то там...
Сообщений: 4,510
Отправить сообщение для УильямБрэдберри с помощью AIM Отправить сообщение для УильямБрэдберри с помощью Yahoo
По умолчанию Re: Не совсем корректно.

Цитата:
Оригинал написал(а) Corpse
Добавление метода к прототипу MovieClip вы зовет появление этого метода во всех экземплярах класса MovieClip, т.е. во всех мувиках, а у меня их много, но дополнительные методы нужно ввести не во все, а только в 8 их них.
тогда напиши конструктор, который и будет добавлять в мувик новый метод, в зависимости от его свойств.
например для мувиков, имена которых начинаются на [ xyz ]

if (this._name.substr(0,3)=="xyz")...........

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

Регистрация: Aug 2001
Сообщений: 4,121
если делаешь в мыксе, то можно сделать просто:

8class = function () {};
8class.prototype = new MovieClip();
8class.prototype.customMethod = function () {....................}
Object.registerClass("linckage", 8class);

но тогда тебе надо будет аттачить твои клипы из библиотеки...

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

Регистрация: Aug 2001
Сообщений: 4,121
Цитата:
Оригинал написал(а) Nox Noctis
но тогда тебе надо будет аттачить твои клипы из библиотеки...
бррр.... глупости какие... вечерний приступ тупости после работы...
хорошо что никто пока не заметил...

на самом деле тебе главное при регистрировании класса таким способом - это чтобы в библиотеке был такой линкейдж... а уж аттачишь ты клип, или ручками кладешь в таймлайн - это уже твое личное дело - все работет, проверено...

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

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

можно сделать проще -
использовать метод 'apply' во время вызова... тогда функция будет всего одна, а применяться сможет как метод к чему угодно...

и еще - у тебя ведь есть имена клипов, в которых должен быть этот хитрый метод ?
можно сделать этот метод, а присоединить его простым присвоением (вообще без всякого конструктора)... никто ведь не мешает делать присвоение ссылки на функцию...
это не так красиво и не так универсально, но зато просто

Старый 30.04.2002, 01:37
RFMitrio вне форума Посмотреть профиль Отправить личное сообщение для RFMitrio Посетить домашнюю страницу RFMitrio Найти все сообщения от RFMitrio
  № 9  
RFMitrio
 
Аватар для RFMitrio

Регистрация: Aug 2001
Адрес: город на Неве
Сообщений: 1,908
Отправить сообщение для RFMitrio с помощью ICQ
Вопрос: а почему плохо, если будет метод добавлен к прототипу movieClip? Ну и что, что он будет применим для всех мувиков, а не только для 8-ми, ведь все равно в памяти 1 раз содержится и на ресурсоемкости плохо не отразится. А вот если для каждого из 8-ми мувов регистрить этот метод - тогда он и будет 8 раз храниться, и это будет неэкономично. Поэтому, ИМХО, лучше по тупому добавить его к прототипу movieClip...
__________________
suum quique

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

Регистрация: Aug 2001
Сообщений: 4,121
мм... вообще-то да... при обращении к методу объекта сначала просматривается объект на наличие этого метода, а потом (если нет в самом объекте такого метода) его прототип (или его родительский класс)... в мыксе, кстати, добавлено обращение super, для того, чтобы можно было ссылаться на суперкласс...

но что в случае присвоения ссылки на метод, что в случае создания нового класса - память выделится один раз так что разницы никакой - вопрос как будет чище и удобнее...


Последний раз редактировалось Nox Noctis; 30.04.2002 в 01:51.
Создать новую тему   Часовой пояс GMT +4, время: 18:18.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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