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

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

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

Регистрация: Nov 2002
Адрес: Москва
Сообщений: 116
По умолчанию Задание функций объъектам, которые будут расположены на timeline дальше

Предположим, создаю я проект, соблюдая принцип целостности кода (т.е., размещая код в одном месте.). Итак, размещаю я код в первом кадре проекта. Но трабл в том, что некоторые объекты, которым я задаю функции (например, реакции на щелчок мышкой), появляются только, в 20-м кадре, и дальше. Как мне решить эту задачу?
Я, конечно, могу сперва вычислять текущий кадр, например:

Код:
this.onEnterFrame=function  () {
	if (_currentframe>=13) {
		butt.onMouseDown=function  () {
			trace(222);
		}
	}
}
но стоит мне при редактировании ролика переместить эти объекты на другие, более далёкие кадры, и эти команды перестают работать. Вот я и думаю, можно ли как-то перва определять, "появился ли" уже в фильме данный объект, или нет?

Старый 21.10.2005, 18:01
Muchacho вне форума Посмотреть профиль Отправить личное сообщение для Muchacho Найти все сообщения от Muchacho
  № 2  
Ответить с цитированием
Muchacho

Регистрация: Nov 2002
Адрес: Москва
Сообщений: 116
Сорри, похоже, всё работает и без всяких проверок, главное, что б функция находилась внутри обработчика onEnterFrame


Последний раз редактировалось Muchacho; 21.10.2005 в 18:05.
Старый 21.10.2005, 19:13
Muchacho вне форума Посмотреть профиль Отправить личное сообщение для Muchacho Найти все сообщения от Muchacho
  № 3  
Ответить с цитированием
Muchacho

Регистрация: Nov 2002
Адрес: Москва
Сообщений: 116
Нет, не корректный это, похоже, способ. Ведь по-умолчанию, события кнопок, типа onRelease не зависят от частоты кадров, а теперь начинают зависеть.

Так как же задать события для объектов, которые лежат впереди по ходу фильма?


Последний раз редактировалось Muchacho; 21.10.2005 в 19:21.
Старый 21.10.2005, 19:44
antonyrec вне форума Посмотреть профиль Отправить личное сообщение для antonyrec Найти все сообщения от antonyrec
  № 4  
Ответить с цитированием
antonyrec
 
Аватар для antonyrec

Регистрация: Jul 2005
Адрес: Ульяновск
Сообщений: 198
Фильм состоит из кадров. А как ты себе предсталяешь появление объекта между кадрами?

Старый 21.10.2005, 19:46
antonyrec вне форума Посмотреть профиль Отправить личное сообщение для antonyrec Найти все сообщения от antonyrec
  № 5  
Ответить с цитированием
antonyrec
 
Аватар для antonyrec

Регистрация: Jul 2005
Адрес: Ульяновск
Сообщений: 198
Ты нормальный способ написал.

Старый 22.10.2005, 01:09
Штрек вне форума Посмотреть профиль Отправить личное сообщение для Штрек Найти все сообщения от Штрек
  № 6  
Ответить с цитированием
Штрек

Регистрация: Dec 2002
Адрес: Сочи
Сообщений: 2,819
this.onEnterFrame=function () {
if (butt!=undefined) {
butt.onMouseDown=function () {
trace(222);
}
}
}

Старый 24.10.2005, 19:27
Muchacho вне форума Посмотреть профиль Отправить личное сообщение для Muchacho Найти все сообщения от Muchacho
  № 7  
Ответить с цитированием
Muchacho

Регистрация: Nov 2002
Адрес: Москва
Сообщений: 116
Спасибо, Штрек, но по моему, будет ещё корректней так:

Код:
this.onEnterFrame=function () {
  if ((butt!=undefined)&&(butt.onMouseDown==undefined)) {
    butt.onMouseDown=function () {
      trace(222);
    }
  }
}
Т.к. не придется в каждом кадре по-новой присваивать значение переменной.

Старый 24.10.2005, 23:10
Штрек вне форума Посмотреть профиль Отправить личное сообщение для Штрек Найти все сообщения от Штрек
  № 8  
Ответить с цитированием
Штрек

Регистрация: Dec 2002
Адрес: Сочи
Сообщений: 2,819
this.onEnterFrame = function() {
if (butt != undefined) {
butt.onMouseDown = function() {
trace(222);
};
delete this.onEnterFrame;
}
};

Старый 25.10.2005, 00:23
KUZEN вне форума Посмотреть профиль Отправить личное сообщение для KUZEN Посетить домашнюю страницу KUZEN Найти все сообщения от KUZEN
  № 9  
Ответить с цитированием
KUZEN
Ветеран форума
 
Аватар для KUZEN

Регистрация: Jun 2005
Адрес: MOSCOW
Сообщений: 6,852
Отправить сообщение для KUZEN с помощью ICQ Отправить сообщение для KUZEN с помощью Yahoo Отправить сообщение для KUZEN с помощью Skype™
onEnterFrame ваще не есть хорошо (в данном случае) лучше вообще обходиться одним кадром, что не нужно просто скрывать ...
__________________
BestMasterиZация

Старый 25.10.2005, 00:40
Штрек вне форума Посмотреть профиль Отправить личное сообщение для Штрек Найти все сообщения от Штрек
  № 10  
Ответить с цитированием
Штрек

Регистрация: Dec 2002
Адрес: Сочи
Сообщений: 2,819
Цитата:
Сообщение от KUZEN
onEnterFrame ваще не есть хорошо (в данном случае) лучше вообще обходиться одним кадром, что не нужно просто скрывать ...
Ты не въехал в задачу -
есть один кадр из которого управляется весь большой мув - на сцене куча объектов, в том числе имеющие вложенные объекты, некоторые из которых появляются на сцене только после попадания головки плеера в определённый кадр......
И вот на них то и предлагается повесить обработчик из единственного кадра на сцене....
Единственный выход - выше....

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

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

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


 


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


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