Показать сообщение отдельно
Старый 23.12.2010, 02:30
cfanya вне форума Посмотреть профиль Отправить личное сообщение для cfanya Найти все сообщения от cfanya
  № 1  
Ответить с цитированием
cfanya

Регистрация: Nov 2010
Сообщений: 21
По умолчанию Таймер не останавливается

Подскажите пожалуйста решение проблемы.
Задача была такая - объект был должен появлялся на экране, расти до нужного размера, а в это время его можно было бы убить кликом мыши, следом за чем, должен появляться новый объект и т.д. Вот код этого чуда:

Код AS3:
stop();
 
var Dot:MovieClip;
Dot = new Elf();
var timerUp:Timer = new Timer(1,1);
 
Up();
 
// ******** Основная функция ************
function Up():void
{
var timerUp:Timer = new Timer(100, 40);
timerUp.addEventListener(TimerEvent.TIMER, grow);
timerUp.start();
	Dot.height = 1;
	Dot.width = 1;
	Dot.x = 150;
	Dot.y = 150;
	addChild (Dot);
}
 
// ******** Функция роста ************
function grow(e:TimerEvent):void
{
	Dot.height = Dot.height+1;
	Dot.width = Dot.width+1;
}
 
Dot.addEventListener(MouseEvent.CLICK, Kill);
 
// ******** Функция убийства объекта ************
function Kill(event:MouseEvent):void
{
	timerUp.removeEventListener(TimerEvent.TIMER, grow);
	timerUp.stop();
 
	removeChild(Dot);
	Up();
}
В функции Kill() вроде как таймер должен останавливаться, но этого не происходит. Пробовал писать timerUp = null; То выдает ошибку. Мол, объект не найден.

И в результате выполнения программы, при нескольких кликах на Dot, несколько таймеров накладываются друг на друга.
Вложения
Тип файла: rar dots.rar (6.9 Кб, 30 просмотров)