Показать сообщение отдельно
Старый 31.08.2010, 19:53
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 9  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,600
Записей в блоге: 17
Ariel, от всей души сделал Вам пример.

Этот пример выводит на экран количество посчитанных чисел Фибоначчи. За правильность подсчета этих чисел я не ручаюсь, однако пример отлично иллюстрирует обновление экрана между вычислениями.
Код AS3:
package 
{
	import flash.display.Sprite;
	import flash.events.TimerEvent;
	import flash.text.TextField;
	import flash.text.TextFieldAutoSize;
	import flash.utils.getTimer;
	import flash.utils.Timer;
 
    public class Main extends Sprite 
    {
 
		private var _numbers:Vector.<int>;
		private var _timer:Timer;
		private var _textField:TextField;
 
		public static const ONE_PART_OF_TIME:uint = 200;
		private var _time:int;
        public function Main():void 
        {
			_timer = new Timer(100);
			_timer.addEventListener(TimerEvent.TIMER, operate);
			_numbers = new Vector.<int>;
			_numbers[0] = 0;
			_numbers[1] = 1;
 
			_textField = new TextField();
			_textField.autoSize = TextFieldAutoSize.LEFT;
			super.addChild(_textField);
 
			operate(null);
			_textField.text = "Wait...";
        }
 
		private function operate(event:TimerEvent):void 
		{
			_timer.stop();
			_time = getTimer();
			while (getTimer() - _time < ONE_PART_OF_TIME) {
				var l:int = _numbers.length;
				_numbers[l] = _numbers[l - 1] + _numbers[l - 2];
			}
			_textField.text = "Current calculated: " + (l + 1);
			_timer.start();
		}
 
    }
}