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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 30.12.2003, 21:49
Fish inc. вне форума Посмотреть профиль Отправить личное сообщение для Fish inc. Найти все сообщения от Fish inc.
  № 1  
Fish inc.

Регистрация: Dec 2003
Сообщений: 1
По умолчанию Как создать экземпляр объекта?

Вопросы, вероятно, ламерские, но, несмотря на это, прошу не глумиться.

1)Как собственно создать inctance объекта когда объявлен новый класс?

smth.prototype = new MovieClip();
smth.prototype.prop = "value";
smth.prototype.func = function(){}

И как теперь сделать экземпляр этого smth?

2)Как добавить в прототип обработчик события(например onClipEvent(load){})? (чтобы все экземпляры его имели)

3)Как добавить обработчик в мувиклип в библиотеке, чтобы этим обработчиком обладал клип, созданный через attachMovie?

4)Как добавить обработчик извне, только что созданному объекту?

Еще раз извините, если я спросил какую-то глупость.

Старый 31.12.2003, 00:40
iLoveYou вне форума Посмотреть профиль Отправить личное сообщение для iLoveYou Найти все сообщения от iLoveYou
  № 2  
iLoveYou
wanted

Регистрация: Sep 2002
Сообщений: 1,737
1.
вот мы создаем класс, да:
Код:
function Smth() {
}
Smth.prototype = new MovieClip();
Smth.prototype.prop = "value";
Smth.prototype.func = function() {
};
если бы это был просто класс, объектами которого в дальнейшем не являлись бы клипы, то новый объект создавался бы примерно так:
Код:
myobject=new MyClass();
но так как нас интересует несколько другое, привязываем класс к символу в библиотеке через linkage:
Код:
Object.registerClass("smth_symbol", Smth);
и создание объекта класса будет происходить следующим образом:
Код:
var smth_ref=_root.attachMovie("smth_symbol", "smth", 1);
trace (smth_ref.prop);
smth_ref -- ссылка на созданный объект, через которую с объектом можно работать.

2 и 3.
Smth.prototype.onEnterFrame = function() {
trace("onEnterFrame called");
};
как приявязывать класс к символу библиотеки, мы уже знаем, да?
полностью код:
Код:
function Smth() {
}
Smth.prototype = new MovieClip();
Smth.prototype.prop = "value";
Smth.prototype.func = function() {
};
Smth.prototype.onEnterFrame = function() {
trace("onEnterFrame called");
};
Object.registerClass("smth_symbol", Smth);
var smth_ref=_root.attachMovie("smth_symbol", "smth", 1);
4.
способов много можно придумать, все зависит от конкретной задачи.
4.1
Код:
smth_ref.onEnterFrame = function() {
	this._x++;
};
убрать обработчик:
Код:
delete smth_ref.onEnterFrame;
4.2
Код:
var mybroadcaster = createEmptyMovieClip("0", 0);
ASBroadcaster.initialize(mybroadcaster);
mybroadcaster.onEnterFrame = function() {
	this.broadcastMessage("onMyEnterFrame");
};
smth_ref.onMyEnterFrame = function() {
	this._x++;
};
mybroadcaster.addListener(smth_ref);
убрать обработчик:
Код:
mybroadcaster.removeListener(smth_ref);
прилагаю исходник. закомментированное -- иной вариант.
Вложения
Тип файла: zip for_fish.zip (2.6 Кб, 490 просмотров)
__________________
вот тебе, революционный единоличник! вот тебе кулачество! вот тебе Союзкиножурнал!


Последний раз редактировалось iLoveYou; 31.12.2003 в 00:42.
Старый 31.12.2003, 01:32
Штрек вне форума Посмотреть профиль Отправить личное сообщение для Штрек Найти все сообщения от Штрек
  № 3  
Штрек

Регистрация: Dec 2002
Адрес: Сочи
Сообщений: 2,819
Откуда столько ума в одной голове?!
Где то содрал небось.

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

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

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


 


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


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