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

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

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

Регистрация: Dec 2010
Адрес: арх. обл.
Сообщений: 38
Question Не отображается таймер в часах

Здравствуйте! Написал таймер но он какой то кривой получился:
Код AS3:
package ru.RainbowAdventure
{
 
    import flash.display.Sprite;
    import flash.display.MovieClip;
    import flash.utils.Timer;
    import flash.events.TimerEvent;
    import flash.events.Event;
 
 
    public class Game extends Sprite
    {
        public static var time:MovieClip;
        public static var score:MovieClip;
        public static var picture:MovieClip;
        public static var timer:MovieClip;
 
        var minutes:Number = 0;//вводим переменную - минуты
        var seconds:Number = 0;//вводим переменную - секунды
        var primer5:Timer = new Timer(1000);
 
        public function Game()
        {
            addEventListener(Event.ADDED_TO_STAGE, init);
 
        }
        private function init(event:Event):void
        {
            removeEventListener(Event.ADDED_TO_STAGE, init);
            addTimer();
            timer.text = "0:0";
            primer5.addEventListener(TimerEvent.TIMER, timerA);
            primer5.start();
 
            trace("Game initialized...");
        }
        private function addTimer():void
        {
 
            timer = new Tame_txt;
            timer.x = 220;
            timer.y = 500;
            timer.gotoAndStop(1);
            addChild(timer);
            trace("Timer initialized...");
 
 
        }
        public function timerA(event:TimerEvent):void
        {
            seconds++;
            if (seconds > 59)
            {
                seconds = 0;
                minutes++;
            }
 
            //секунды и минуты переводятся в строку. между ними будет стоять двоеточие
            timer.text = String(minutes + ":" + seconds);
            trace ("timer.!>!>!");
        }
 
 
 
 
    }
 
}
после трейса показывает что таймер сам идет, но он не отбражается. Помогите пожалуйста.

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

Регистрация: Nov 2009
Адрес: в златоглавой
Сообщений: 745
?
Код AS3:
public static var timer:Tame_txt;
...
timer = new Tame_txt;
__________________
Нормально делай — нормально будет!

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

Регистрация: Dec 2010
Адрес: арх. обл.
Сообщений: 38
Цитата:
Сообщение от tsarapkabel Посмотреть сообщение
?
Код AS3:
public static var timer:Tame_txt;
...
timer = new Tame_txt;
извините немного Вас не понял. Это то что и как надо исправить в коде? Если так то все равно не отображается

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

Регистрация: Nov 2009
Адрес: в златоглавой
Сообщений: 745
Не знаю что у Вас происходит в классе Tame_txt, вот работающий таймер, вывод в textField:

Код AS3:
package {
 
	import flash.display.Sprite;
	import flash.display.MovieClip;
	import flash.events.TimerEvent;
	import flash.events.Event;
	import flash.text.*;
	import flash.utils.Timer;
 
	public class Game extends Sprite {
 
		private var timerText:TextField;
		private var minutes:uint = 0;//вводим переменную - минуты
		private var seconds:uint = 0;//вводим переменную - секунды
		private var primer5:Timer = new Timer(1000);
 
		public function Game() {
			addEventListener(Event.ADDED_TO_STAGE, init);
		}
 
		private function init(event:Event):void {
			removeEventListener(Event.ADDED_TO_STAGE, init);
			trace("Game initialized...");
			timerText = new TextField();
			timerText.text = "0:0";
			primer5.addEventListener(TimerEvent.TIMER, timerA);
			primer5.start();
			addTimer();
		}
 
		private function addTimer():void {
			trace("Timer initialized...");
			timerText.x = 220;
			timerText.y = 500;
			addChild(timerText);
		}
 
		public function timerA(event:TimerEvent):void {
			seconds++;
			if (seconds > 59) {
				seconds = 0;
				minutes++;
			}
 
			//секунды и минуты переводятся в строку. между ними будет стоять двоеточие
			timerText.text = String(minutes + ":" + seconds);
			trace ("timer.!>!>!");
		}
	}
}
__________________
Нормально делай — нормально будет!

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

Регистрация: Dec 2010
Адрес: арх. обл.
Сообщений: 38
Tame_txt это класс мувиКлипа, в котором создано динамическое текстовое поле для таймера. На сколько я понял таймер не показывает потому что нет ссылки именно на текстовое поле. Извините за мою упертость, но нужно что бы отображалось именно в Tame_txt. Это поросто мувиклип в создано динамическое текстовое поле и больше ничего нету.

Старый 06.02.2011, 22:48
Anton Riot вне форума Посмотреть профиль Отправить личное сообщение для Anton Riot Посетить домашнюю страницу Anton Riot Найти все сообщения от Anton Riot
  № 6  
Ответить с цитированием
Anton Riot

Регистрация: Sep 2008
Адрес: Москва
Сообщений: 291
Отправить сообщение для Anton Riot с помощью ICQ
если Tame_txt - это класс мувиКлипа. то как это так вы обращаетесь к timer.text?
откуда у мувиклива поле text?

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

Регистрация: Nov 2009
Адрес: в златоглавой
Сообщений: 745
Почему бы и нет. В библиотеке MovieClip, имя класса Asdfghjkl. В этом самом MovieClip'е текстовое поле с именем экземпляра textInside.
Код AS3:
package {
 
	import flash.display.Sprite;
	import flash.events.TimerEvent;
	import flash.events.Event;
	import flash.text.TextField;
	import flash.utils.Timer;
 
	public class Game extends Sprite {
 
		private var minutes:uint = 0;
		private var seconds:uint = 0;
		private var primer5:Timer = new Timer(1000);
		private var myTimerBox:Asdfghjkl; //инициализировали класс
 
		public function Game() {
			addEventListener(Event.ADDED_TO_STAGE, init);
		}
 
		private function init(e:Event):void {
			removeEventListener(Event.ADDED_TO_STAGE, init);
			trace("Game initialized...");
			primer5.addEventListener(TimerEvent.TIMER, timerA);
			primer5.start();
			myTimerBox = new Asdfghjkl(); //создали экземплярчик
			addTimer();
		}
 
		private function addTimer():void {
			trace("Timer initialized...");
			myTimerBox.x = myTimerBox.y = 50;
			addChild(myTimerBox);
		}
 
		public function timerA(event:TimerEvent):void {
			trace ("timer.!>!>!");
			seconds++;
			if (seconds > 59) {
				seconds = 0;
				minutes++;
			}
			myTimerBox.textInside.text = (minutes + ":" + seconds);
		}
	}
}
__________________
Нормально делай — нормально будет!

Старый 07.02.2011, 22:35
Vektor вне форума Посмотреть профиль Отправить личное сообщение для Vektor Найти все сообщения от Vektor
  № 8  
Ответить с цитированием
Vektor
 
Аватар для Vektor

Регистрация: May 2008
Адрес: Новокузнецк
Сообщений: 219
Записей в блоге: 1
Цитата:
timer.text String(minutes + ":" + seconds);
timer.имя_text.text.
имя_text - задаётся в свойствах.
__________________
Книги и желание лучшие учителя.

Старый 08.02.2011, 20:45
reNiks вне форума Посмотреть профиль Отправить личное сообщение для reNiks Найти все сообщения от reNiks
  № 9  
Ответить с цитированием
reNiks

Регистрация: Dec 2010
Адрес: арх. обл.
Сообщений: 38
спасибо огромное

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

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

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


 


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


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