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

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 14.06.2006, 17:15
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 11  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
Цитата:
Сообщение от Stone
а Delegate там или EventDispatcher никак не помогут ? (((
Хм, у тебя есть хоть какое-нибудь представление, что делают данные классы?
Впрочем, прочитай пост №6 или №8

Старый 14.06.2006, 17:31
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 12  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
ты можешь создать класс, наследник мувиклипа.
повесить туда рассылку событий типа
Код:
private function onEnterFrame ():Void
{
    dispatchEvent({type:'enterFrame1'});
    dispatchEvent({type:'enterFrame2});
}
хотя в случае с EventDispatcher это уже не нужно, ибо можно подписывать обработчики событий, достаточно легко.
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^


Последний раз редактировалось Nirth; 14.06.2006 в 17:37.
Старый 14.06.2006, 18:03
Stone вне форума Посмотреть профиль Отправить личное сообщение для Stone Найти все сообщения от Stone
  № 13  
Ответить с цитированием
Stone
 
Аватар для Stone

Регистрация: May 2001
Адрес: Москва
Сообщений: 670
2 Nirth
а примерчик можно, а то уже совсем ничего не понимаю.

Старый 14.06.2006, 18:06
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 14  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
какой примерчик? создаешь класс, в нем создаешь свой он интер фрейм, и подписываешь нужные обработчики.
почитай в хелпе про EventDispatcher
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^

Старый 14.06.2006, 18:15
Stone вне форума Посмотреть профиль Отправить личное сообщение для Stone Найти все сообщения от Stone
  № 15  
Ответить с цитированием
Stone
 
Аватар для Stone

Регистрация: May 2001
Адрес: Москва
Сообщений: 670
я его и читаю

Код:
import mx.events.EventDispatcher;
class MyMC extends MovieClip { 
        //Создаем методы которые нам передаст EventDispatcher, 
        private var dispatchEvent:Function; //Данный метод будет вещать события
        public var addEventListener,removeEventListener:Function; //Данные два метода будут подписывать и удалять слушатели
        public var onMove:Function; // А это наше будущее событие
        public function MyMC () {
                EventDispatcher.initialize(this); //данный метод класса EventDispatcher передает нам методы для вещания и добавления листенеров
                this.addEventListener('onMove',this); // подписываем себя на событие
        }
        public function move(x:Number,y:Number) {
              _x=x;
              _y=y:
              dispatchEvent({type:'onMove',xp:x,yp:y}); //вещаем событие с двумя параметрами(новые координаты
        }
}
вот только запустить не могу (

Код:
test=new MyMC();

test.onMove=function(){
	trace('+')
}

test.move();

Старый 14.06.2006, 18:18
Stone вне форума Посмотреть профиль Отправить личное сообщение для Stone Найти все сообщения от Stone
  № 16  
Ответить с цитированием
Stone
 
Аватар для Stone

Регистрация: May 2001
Адрес: Москва
Сообщений: 670
сори - работает

только как мне туда onEnterFrame впихнуть?

Старый 14.06.2006, 18:24
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 17  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
Хм, только нафига подписывать самого себя на свои же события...

Старый 14.06.2006, 18:58
Stone вне форума Посмотреть профиль Отправить личное сообщение для Stone Найти все сообщения от Stone
  № 18  
Ответить с цитированием
Stone
 
Аватар для Stone

Регистрация: May 2001
Адрес: Москва
Сообщений: 670
единственное чего получилось добиться это

Код:
import mx.events.EventDispatcher;
import mx.utils.Delegate;
class MyMC extends MovieClip { 
        //Создаем методы которые нам передаст EventDispatcher, 
        private var dispatchEvent:Function; //Данный метод будет вещать события
        public var addEventListener,removeEventListener:Function; //Данные два метода будут подписывать и удалять слушатели
        public var onMove:Function; // А это наше будущее событие
        public function MyMC () {
                EventDispatcher.initialize(this); //данный метод класса EventDispatcher передает нам методы для вещания и добавления листенеров
                this.addEventListener('onMove',this); // подписываем себя на событие
				MovieClip.prototype.onEnterFrame=Delegate.create(this, _onEnterFrame);
        }
		

		
        public function _onEnterFrame() {
              dispatchEvent({type:'onMove'}); 
       	}
		
		
}
Код:
import MyMC;
this.attachMovie('MyMC','mc',_root.getNextHighestDepth());

mc.onMove=function(){
	trace('+')
}

mc.onEnterFrame=function(){
	trace('-');
}
вот только в OUTPUT

-
+
+
+

Старый 14.06.2006, 19:12
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 19  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
господи, как ты читаешь хелп?
Код:
import mx.events.EventDispatcher;
class EventDispatcherExample extends MovieClip {
    public var addEventListener:Function, removeEventListener:Function, dispatchEvent:Function;
    public function EventDispatcherExample()
    {
         EventDispatcher.initialize(this);
    }
    private function onEnterFrame():Void
    {
        dispatchEvent({type:'enterFrame'});
    }
}
используем
Код:
function firstHandler(event:Object):Void
{
     trace("enter frame1");
}
function secondHandler(event:Object):Void
{
     trace("enter frame 2");
}

myEventDispatcherExampleInstance.addEventListener("enterFrame",firstHandler);
myEventDispatcherExampleInstance.addEventListener("enterFrame",secondHandler);
Flash запускать лень, поэтому не проверял, чуть позже верифайну.
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^

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

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

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


 


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


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