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

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

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

Регистрация: Oct 2009
Сообщений: 92
По умолчанию как остановить функцию когда значение равно 0

есть счетчик который отчитывает числа. все хорошо просчитывает за исключением того что когда число доходит до финишного var finish_balance:Number = 00000; счетчик не останавливается а начинает прибавлять значения

подскажите как остановить работу функций когда значение var balance:Number = 00017; дойдет до финишного значения var finish_balance:Number = 00000;

Код:
var balance:Number = 00017;
var finish_balance:Number = 00000;
view(0);
var timer:Timer = new Timer (1000);
timer.addEventListener(TimerEvent.TIMER, cfline);
timer.start();

function cfline(e:TimerEvent)
{
	var old_balance = balance--;
	view(old_balance);
	old_balance = finish_balance;
}

function view(old_b) {
	var t = 2;
	var line=String(balance);
	while (line.length!=5) 
	{
		line = '0'+line;
	}
	var old_line=String(old_b);
	while (old_line.length!=5) 
	{
		old_line = '0'+old_line;
	}
	for (var i:int = 0; i < 5; i++)
	{
		var number = line.charAt(i);
		var number_old = old_line.charAt(i);
			
		if (number!=number_old) 
		{
			...
		}
		
	}
}

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

Регистрация: Nov 2007
Сообщений: 183
Код AS3:
   if(finish_balance == 0){return}

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

Регистрация: Oct 2009
Сообщений: 92
что то не срабатывает (
может я не туда ее ставлю, но получается что либо она игнорируется либо не начинает совсем считать

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

Регистрация: Nov 2007
Сообщений: 183
пардон, мельком на код ваш посмотрел - вы пользуетесь таймером, не увидел.
ну так и останавливайте его когда значение достигнет 0
timer.stop()

Старый 03.12.2009, 12:21
lissa81 вне форума Посмотреть профиль Отправить личное сообщение для lissa81 Найти все сообщения от lissa81
  № 5  
Ответить с цитированием
lissa81

Регистрация: Oct 2009
Сообщений: 92
так дело в том что не знаю как именно это прописать
когда timer.stop() то он останавливается сам по себе
а вот как прописать проверку что значение уже равно 0 и он остановился я не знаю (((

Старый 03.12.2009, 12:30
Doctor76 вне форума Посмотреть профиль Отправить личное сообщение для Doctor76 Найти все сообщения от Doctor76
  № 6  
Ответить с цитированием
Doctor76
 
Аватар для Doctor76

Регистрация: Nov 2007
Сообщений: 183
Мне что то вот тут не понятно:
Код AS3:
function cfline(e:TimerEvent)
{
	var old_balance = balance--;
	view(old_balance);
	old_balance = finish_balance;
    }
мы присваиваем к переменной old_balance значение balance - 1
вызываем с уменьшенным значением функцию, и зачем то присваиваем old_balance =0

может подошло бы просто так:

Код AS3:
 
function cfline(e:TimerEvent)
{
    if(balance <=0){
        timer.stop();
        return;
   }else{
      view(balance--);
    }
 
}

Старый 03.12.2009, 12:33
lissa81 вне форума Посмотреть профиль Отправить личное сообщение для lissa81 Найти все сообщения от lissa81
  № 7  
Ответить с цитированием
lissa81

Регистрация: Oct 2009
Сообщений: 92
спасибо большое все заработало

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

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

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


 


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


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