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

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

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

Регистрация: Jan 2008
Сообщений: 47
Отправить сообщение для Pasquill с помощью ICQ
По умолчанию setInterval и его "деактивация"

подскажите, плиз
хочу что бы при нажатии на кнопку функция выполнялась не один раз, а все время до отжатия кнопки
есть код :
Код AS1/AS2:
num=1900;
btn.onPress=function() {
	function moveUp():Void {
	num = num+1;
	fill = num;
	} var intervalID = setInterval(moveUp, 300);
}
как остановить выполнение функции moveUp? а то она выполняется и после отжатия и после RollOut...
или может есть другой более рациональный способ реализовать задачу?
__________________
Наши настоящие враги молчаливы

Старый 27.03.2009, 03:34
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 2  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Код AS1/AS2:
var num:Number = 1900;
var intervalID:Number;
function moveUp ():Void {
	num = num + 1;
	fill = num;
}
btn.onPress = function () {
	intervalID = setInterval (this, "moveUp", 300);
};
btn.onRelease = function () {
	clearInterval (intervalID);
};
btn.onReleaseOutside = btn.onRelease;
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 27.03.2009, 04:08
Pasquill вне форума Посмотреть профиль Отправить личное сообщение для Pasquill Найти все сообщения от Pasquill
  № 3  
Ответить с цитированием
Pasquill
 
Аватар для Pasquill

Регистрация: Jan 2008
Сообщений: 47
Отправить сообщение для Pasquill с помощью ICQ
clearInterval не срабатывает, иначе бы не было вопроса на форуме =(
Flash 8, AS2 ...
__________________
Наши настоящие враги молчаливы

Старый 27.03.2009, 05:19
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 4  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Попробуйте этот код с чистого листа
Код AS1/AS2:
var btn:MovieClip = this.createEmptyMovieClip ("mc", this.getNextHighestDepth ());
btn.beginFill (0);
btn.lineTo (100, 0);
btn.lineTo (100, 100);
btn.lineTo (0, 100);
btn.lineTo (0, 0);
btn.endFill ();
var num:Number = 1900;
var intervalID:Number;
var test:Number = 0;
function moveUp (t:Number):Void {
	num = num + 1;
	trace (t + " : " + num);
}
btn.onPress = function () {
	intervalID = setInterval (this._parent, "moveUp", 300, test);
	test++;
};
btn.onRelease = function () {
	clearInterval (intervalID);
};
btn.onReleaseOutside = btn.onRelease;
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

Регистрация: Jan 2008
Сообщений: 47
Отправить сообщение для Pasquill с помощью ICQ
iNils
после некоторых незначительных корекций все заработало так, как мне надо. спасибо!
похоже все дело было в том, что бы функцию moveUp вынести отдельно
__________________
Наши настоящие враги молчаливы

Старый 27.03.2009, 15:35
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 6  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
А я бы сказал, что определение var intervalID надо было вынести. Переменная, определенная как локальная внутри функции, умирает после окончания выполнения функции.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

Регистрация: Jan 2008
Сообщений: 47
Отправить сообщение для Pasquill с помощью ICQ
логично
__________________
Наши настоящие враги молчаливы

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

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

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


 


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


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