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

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

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

Регистрация: Nov 2010
Сообщений: 8
Question Таймер не работает после перезапуска!

Код AS3:
package x{
	class x {
		function x() {
			var timeTimer:Timer=new Timer(delay,repeat);
			var time:TextField=new TextField  ;
			var delay:uint=100;
			var repeat:uint=50;
			var circle:Sprite=new Sprite  ;
                        var newGame:Sprite=new Sprite 
			//рисую circle
			timeTimer.addEventListener(TimerEvent.TIMER, timerHandler);
			timeTimer.addEventListener(TimerEvent.TIMER_COMPLETE, gameOver);
			circle.addEventListener(MouseEvent.MOUSE_DOWN,mouseClickListener);
		}
		function timerHandler(e:TimerEvent):void {
			repeat--;
			time.text = ""+((delay * repeat) / 1000);
		}
		function mouseClickListener(e:MouseEvent):void {
			//двигаю circle
			timeTimer.start();
		}
		function gameOver(e:TimerEvent) {
			removeChild(circle);
			//рисую newGame
			newGame.addEventListener(MouseEvent.CLICK, mouseClickListener3);
			addChild(newGame);
		}
		public function mouseClickListener3(e:MouseEvent):void {
			repeat=50;
			removeChild(newGame);
			addChild(circle);
			timeTimer.stop()
		}
	}
}
Проблема в том что сначала таймер работает нормально, потом он завершается, появляется newGame, а после клика на ньюгейм таймер стоит и дергается только при нажатии на circle (1 раз и на 1 деление).
И еще вопрос:как увеличить размер символов TextField, а то в хэлпе от адоб такого вроде нет.


Последний раз редактировалось Droplz; 15.11.2010 в 21:34.
Старый 15.11.2010, 21:41
mikhailk вне форума Посмотреть профиль Отправить личное сообщение для mikhailk Найти все сообщения от mikhailk
  № 2  
Ответить с цитированием
mikhailk
 
Аватар для mikhailk

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
timeTimer.start() отсутствует
но вообще-то мне кажется этот код работать не должен.


изменить размер символов в текстовом поле:

Код AS3:
		public function setFontSize(fontSize:int) : void
		{
			var format:TextFormat = new TextFormat();
			format.size = fontSize;
			textField.setTextFormat(format);
		}


Последний раз редактировалось mikhailk; 15.11.2010 в 21:43.
Старый 15.11.2010, 21:49
samana вне форума Посмотреть профиль Отправить личное сообщение для samana Найти все сообщения от samana
  № 3  
Ответить с цитированием
samana
 
Аватар для samana

блогер
Регистрация: Mar 2008
Адрес: Днепропетровск
Сообщений: 1,783
Записей в блоге: 3
Я просто напомню, что узнать текущий счёт таймера можно через
Код AS3:
timer.currentCount
и не заводить для этого переменную repeat,
а сбросить таймер... из справки
Код:
	reset():void
Останавливает таймер, если он выполняется, и заново присваивает свойству currentCount значение 0, аналогично кнопке сброса на секундомере.

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

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
у автора таймер не вынесен в переменные класса.
и repeat/circle
как интересно это все работает?
если работает

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

Регистрация: Nov 2010
Сообщений: 8
Цитата:
Сообщение от Droplz Посмотреть сообщение
Код AS3:
		function mouseClickListener(e:MouseEvent):void {
			//двигаю circle
			timeTimer.start();
Как timeTimer.start() отсутствует?
Вот же он!^
А почему код работать не должен?
И спасибо за то что показал как "изменить размер символов в текстовом поле"!

Добавлено через 1 минуту
Цитата:
Сообщение от mikhailk Посмотреть сообщение
у автора таймер не вынесен в переменные класса.
как интересно это все работает?
если работает
Ой, я скопировал криво (там много другого кода)

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

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
при нажатии на ньюгейм отрабатывает mouseClickListener3
там старта таймера нет

Старый 15.11.2010, 21:59
Droplz вне форума Посмотреть профиль Отправить личное сообщение для Droplz Найти все сообщения от Droplz
  № 7  
Ответить с цитированием
Droplz

Регистрация: Nov 2010
Сообщений: 8
Цитата:
Сообщение от mikhailk Посмотреть сообщение
при нажатии на ньюгейм отрабатывает mouseClickListener3
там старта таймера нет
Там и не должен быть старт.
Там появляется circle, а при нажатии на циркл есть старт.
Поставил timeTimer.reset(), но с ним таймер просто сбивается и выдает что-то вроде 272734186.

Добавлено через 4 минуты
А, все, заработало!
mikhailk, samana спасибо!
p.s Репит (или как там говорится) я завел просто чтобы не было "магических значений".

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

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

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


 


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


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