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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 31.07.2003, 22:01
metton вне форума Посмотреть профиль Отправить личное сообщение для metton Посетить домашнюю страницу metton Найти все сообщения от metton
  № 1  
metton
"simple"
 
Аватар для metton

Регистрация: Feb 2002
Адрес: Россия, Москва
Сообщений: 1,155
Отправить сообщение для metton с помощью ICQ
По умолчанию глюк mc.swapDepths ?

Такой вот...
Если поместить на событие клипа метод swapDepths этого клипа (например, this.swapDepths (1000), затем перейти вперёд на
главной диаграмме, а затем обратно, то опять сработает событие load (при чём ещё только один раз. больше не будет)... Почему так?!
[исходник прилагается: чтобы понять о чём я, просмотрите код в клипе (его там всего пара строчек), а затем запустите клип и смотрите на
трейс. если же убрать строку this.swapDepths (1000); в клипе square, всё нормально. похоже на какую-то несогласованность событий и функций]


Вопрос-довесок
Как узнать самое большое значение depth на данной временной диаграмме (кстати, у каждой диаграммы свой набор уровней (depth)?)?
Вложения
Тип файла: zip questions_flash_q01.zip (2.5 Кб, 687 просмотров)

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

Регистрация: Aug 2001
Сообщений: 4,121
ага, а если поставить this.swapDepths(random(1000));
то онлоад срабатывает КАЖДЫЙ раз :))

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

поскольку ты свапишь все время на одну глубину, то первый раз срабатывает онлоад самого клипа, а потом его онлоад на глубине 1000

Старый 31.07.2003, 22:37
metton вне форума Посмотреть профиль Отправить личное сообщение для metton Посетить домашнюю страницу metton Найти все сообщения от metton
  № 3  
metton
"simple"
 
Аватар для metton

Регистрация: Feb 2002
Адрес: Россия, Москва
Сообщений: 1,155
Отправить сообщение для metton с помощью ICQ
Большое спасибо
Суть понял, но вот с одной из твоих фраз всё никак не разберусь...

Цитата:
клипы сделанные руками и свапнутые потом не удаляются сами
Не совсем понял смысла высказанного (видимо, из-за того, что что-то по не знанию ускользает из моего взгляда ).
Как я понял, load происходит повторно потому что... так, кажется я начинаю понимать...

Т.е. при swapDepths в задумке создаётся новый клип на новом уровне, в него передаютя все свойства (в том числе, что он уже загружен) и методы старого и старый удаляется?

То есть из-за этого глюка имеем два одинаковых клипа. Так?

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

Регистрация: Aug 2001
Сообщений: 4,121
почти так :)

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

Старый 01.08.2003, 03:15
metton вне форума Посмотреть профиль Отправить личное сообщение для metton Посетить домашнюю страницу metton Найти все сообщения от metton
  № 5  
metton
"simple"
 
Аватар для metton

Регистрация: Feb 2002
Адрес: Россия, Москва
Сообщений: 1,155
Отправить сообщение для metton с помощью ICQ
Так. С причиной болезни мы разобрались.
Теперь хотелось бы, чтобы Вы прописали больному какое-нибудь лекарство
Проще говоря, как это лечится?

Старый 01.08.2003, 03:47
TTS вне форума Посмотреть профиль Отправить личное сообщение для TTS Найти все сообщения от TTS
  № 6  
TTS
 
Аватар для TTS

Регистрация: Jan 2002
Сообщений: 1,323
По умолчанию Вообще-то обсуждалось (как обычно).

ММ видимо, не рассчитывала, что swapDepths будет использоваться для клипов, созданных "вручную". Флэш распределяет их по глубинам и не парится. Если при переходе на некий кадр в таймлайне прописан клип, а на соотв. глубине его нет - он его туда пихает. Получается ещё один клип:
onClipEvent (load)
{
trace ("[square][onload]: loaded");
// this.swapDepths (1000);
}

on (press)
{
square.swapDepths (1000);
square._y+=100;
prevFrame ();
}
После второго свопа исходная глубина уже не пустует, поэтому третий клип не появляется. Соответственно, если при переходе на глубине (отрицательной, ибо отрицательные - для сделанных "вручную") клипа не должно быть, а он там есть, флеш его затирает нафих:
on (press)
{
if(square.getDepth()!=-1000){
square.swapDepths (-1000);
square._y+=100;
}else prevFrame();
}
Причем, флэш правильно опознаёт клип, так что "подменить" не удается.
__________________
ВКЛЮЧИ МОЗГИ!!!
Одноразовых граблей не бывает. На большинство из них уже кто-то наступал. (c) Dindin


Последний раз редактировалось TTS; 01.08.2003 в 03:52.
Старый 01.08.2003, 03:51
TTS вне форума Посмотреть профиль Отправить личное сообщение для TTS Найти все сообщения от TTS
  № 7  
TTS
 
Аватар для TTS

Регистрация: Jan 2002
Сообщений: 1,323
А чтобы правильно лечить, нужно знать историю болезни (т.е. зачем все это нужно).

Вообще-то attachMovie - хорошее средство.
__________________
ВКЛЮЧИ МОЗГИ!!!
Одноразовых граблей не бывает. На большинство из них уже кто-то наступал. (c) Dindin


Последний раз редактировалось TTS; 01.08.2003 в 03:56.
Старый 01.08.2003, 15:58
metton вне форума Посмотреть профиль Отправить личное сообщение для metton Посетить домашнюю страницу metton Найти все сообщения от metton
  № 8  
metton
"simple"
 
Аватар для metton

Регистрация: Feb 2002
Адрес: Россия, Москва
Сообщений: 1,155
Отправить сообщение для metton с помощью ICQ
2TTS
Из всего выше сказанного и сказанного вне, делаем вывод, что лечения нет?


Цитата:
Вообще-то attachMovie - хорошее средство.
Опять же из всего выше сказанного и сказанного вне делаю вывод, что так и придётся делать...
Тока вот теперь возникает проблема с онЛоадом...
[http://www.flasher.ru/forum/showthre...threadid=47485]

буду пробовать...


Последний раз редактировалось metton; 01.08.2003 в 16:01.
Создать новую тему   Часовой пояс GMT +4, время: 10:46.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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