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

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

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

Регистрация: Oct 2001
Адрес: москва
Сообщений: 49
По умолчанию наследование обработчика событий?

кладем на рабочее поле клип my_mc.
в кадре пишем

my_mc.onEnterFrame= function () {
_x=30+random(20)
}
duplicateMovieClip(my_mc, "my_mc1", 1 );
my_mc1._y+=40;

запускаем --> два клипа двигаются синхронно.

делаем по другому: в кадре пишем

duplicateMovieClip(my_mc, "my_mc1", 1 );
my_mc1._y+=40;

а на клип вешаем

onClipEvent (enterFrame) {
_x=30+random(20);
}

запускаем --> клипы двигаются асинхронно.

1. почему так?
2. как сделать чтобы движение было асинхронным, но не вешать код на клип, а

сосредоточить его в таймлайне?

спасибо.

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

Регистрация: Aug 2001
Сообщений: 4,121
потому что в первом варианте ошибка.
должно было быть:
my_mc.onEnterFrame= function () {
this._x=30+random(20);
}

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

my_mc.onEnterFrame= function () {
this._x=30+random(20);
}
duplicateMovieClip(my_mc, "my_mc1", 1 );
my_mc1._y+=40;
my_mc1.onEnterFrame = my_mc.onEnterFrame;

а во втором варианте this можно и не указывать, потому что когда делаешь onClipEvent (...) { .. }, считай что всё что в нём находится, идет в блоке tellTarget (this) { ... }

к тому же, onClipEvent дублируется вместе с клипом.


Последний раз редактировалось Nox Noctis; 10.11.2004 в 21:28.
Старый 10.11.2004, 21:27
Antares вне форума Посмотреть профиль Найти все сообщения от Antares
  № 3  
Antares
Banned
[+1 16.05.2006]
[++1 16.05.2006]
[+ 1 21.05.06]
[++ за хамство]
[+1 21.05.2006]
 
Аватар для Antares

Регистрация: Dec 2003
Сообщений: 3,925
Ура. Он вернулся

Старый 11.11.2004, 04:58
sarcofag вне форума Посмотреть профиль Отправить личное сообщение для sarcofag Найти все сообщения от sarcofag
  № 4  
sarcofag

Регистрация: Oct 2001
Адрес: москва
Сообщений: 49
спасибо.

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

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

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


 


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


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