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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 02.04.2009, 21:08
van4es вне форума Посмотреть профиль Отправить личное сообщение для van4es Посетить домашнюю страницу van4es Найти все сообщения от van4es
  № 1  
Ответить с цитированием
van4es
[+1.3 20.11.08]

Регистрация: Jan 2006
Сообщений: 39
Отправить сообщение для van4es с помощью Skype™
По умолчанию clearInterval почемуто не останавливает при событии onStatus

проблема следующая:

есть интервал для вызова функции

Код AS1/AS2:
function showProgress()
{
	resizeScale = setInterval(updateScale, 50);
}
showProgress();
который убивается при нажатии на кнопку

Код AS1/AS2:
myButton.onRelease = function playPause()
{
	clearInterval( resizeScale );
 
}
а вот на событие onStatus почуму то не срабатывает

Код AS1/AS2:
netStream.onStatus = function(infoObject:Object) {
	switch (infoObject.code) {
		case'NetStream.Play.Stop':
 
			clearInterval( resizeScale );
			break;
	}
}

в чём проблемма?

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

блогер
Регистрация: Mar 2007
Сообщений: 1,291
Записей в блоге: 5
Отправить сообщение для cleptoman с помощью ICQ
проблемма в том , что в АС2 в обработчиках все происходит относительно объека испустившего его.

т.е. тут
netStream.onStatus = function(infoObject:Object) {
все происходит относительно объекта netStream
соответственно в нем нет свойства resizeScale

mx.utils.Delegate вам в помощь
__________________
http://cleptoman.free-lance.ru
achivements: дважды благословлен на воровство. осеяный благодатью

Старый 02.04.2009, 21:48
Stargazer вне форума Посмотреть профиль Отправить личное сообщение для Stargazer Найти все сообщения от Stargazer
  № 3  
Ответить с цитированием
Stargazer

Регистрация: Nov 2008
Сообщений: 528
Цитата:
Сообщение от cleptoman Посмотреть сообщение
проблемма в том , что в АС2 в обработчиках все происходит относительно объека испустившего его.
Это в том, что касается this. А вот что касается области видимости переменных - то по моему опыту у меня сложилось чувство, что всё зависит от того, где было выполнено объявление переменной и где выполнено присваивание (в данном случае) обработчика onStatus.

van4es, а что выводит trace(resizeScale), если его поставить внутрь onStatus?

Старый 02.04.2009, 21:48
van4es вне форума Посмотреть профиль Отправить личное сообщение для van4es Посетить домашнюю страницу van4es Найти все сообщения от van4es
  № 4  
Ответить с цитированием
van4es
[+1.3 20.11.08]

Регистрация: Jan 2006
Сообщений: 39
Отправить сообщение для van4es с помощью Skype™
а можно как то помочь? а то я думаю долго буду разбираться с mx.utils.Delegate

Старый 02.04.2009, 21:56
van4es вне форума Посмотреть профиль Отправить личное сообщение для van4es Посетить домашнюю страницу van4es Найти все сообщения от van4es
  № 5  
Ответить с цитированием
van4es
[+1.3 20.11.08]

Регистрация: Jan 2006
Сообщений: 39
Отправить сообщение для van4es с помощью Skype™
Код AS1/AS2:
trace(resizeScale)
выводит 1

Старый 02.04.2009, 22:23
Stargazer вне форума Посмотреть профиль Отправить личное сообщение для Stargazer Найти все сообщения от Stargazer
  № 6  
Ответить с цитированием
Stargazer

Регистрация: Nov 2008
Сообщений: 528
Хм... В таком случае делегаты вам не нужны.

Попробуйте трейсить id, в те моменты, когда вы получаете его от setInterval и в те моменты, когда вы интервалы удаляете. Убедитесь, что у вас не возникает лишних интервалов и что вы удаляете именно id активного интервала, а не уже удалённого или ещё несуществующего.

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

блогер
Регистрация: Mar 2007
Сообщений: 1,291
Записей в блоге: 5
Отправить сообщение для cleptoman с помощью ICQ
Stargazer, а вы пробовали так в классах писать? без Delegate
__________________
http://cleptoman.free-lance.ru
achivements: дважды благословлен на воровство. осеяный благодатью

Старый 03.04.2009, 13:24
van4es вне форума Посмотреть профиль Отправить личное сообщение для van4es Посетить домашнюю страницу van4es Найти все сообщения от van4es
  № 8  
Ответить с цитированием
van4es
[+1.3 20.11.08]

Регистрация: Jan 2006
Сообщений: 39
Отправить сообщение для van4es с помощью Skype™
хм.....чесно говоря, я запарился уже его трейсить и убивать. уже такие извращения делал, что внутри onStatus вызавал функцию, которая его(интервал) убивает.

При нажатии на кнопку, эта функция его убивает, а при вызове onStatus - нет.
Решил проблему совершенно другим путём....а вообще хотел бы чтобы гуру флэша разобрались с этим моментом.

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

Теги
clearInterval , setinterval

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

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


 


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


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