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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 05.11.2008, 16:18
borborich вне форума Посмотреть профиль Отправить личное сообщение для borborich Найти все сообщения от borborich
  № 1  
Ответить с цитированием
borborich
[+1.4 14.06.10]

Регистрация: Oct 2008
Сообщений: 24
Question часы

У меня в игре сделан таймер без визуального представления, как сделать часы чтоб они делали полный оборот равный 3м минутам?

Старый 05.11.2008, 17:10
skald вне форума Посмотреть профиль Отправить личное сообщение для skald Найти все сообщения от skald
  № 2  
Ответить с цитированием
skald
[+4 12.09.08]

Регистрация: Oct 2002
Адрес: SPb
Сообщений: 151
Отправить сообщение для skald с помощью ICQ
вариантов масса ... что конкретно не получается ... и где это расти должно??

Старый 05.11.2008, 17:52
Division вне форума Посмотреть профиль Отправить личное сообщение для Division Найти все сообщения от Division
  № 3  
Ответить с цитированием
Division
 
Аватар для Division

Регистрация: Jul 2008
Адрес: Украина, Херсон
Сообщений: 635
Отправить сообщение для Division с помощью ICQ
borborich, да, что конкретно не получается? Вообще это просто. Если оборот часов задаётся в градусах, то его можно найти так:
Код:
angle = time_in_minutes/3*360
Можно в конце %360 дописать, чтоб угол был от 0 до 360.
time_in_minutes - время в минутах. Например если он равен 0.5, то это 30 секунд.
__________________
while(1) {}

Старый 05.11.2008, 23:43
borborich вне форума Посмотреть профиль Отправить личное сообщение для borborich Найти все сообщения от borborich
  № 4  
Ответить с цитированием
borborich
[+1.4 14.06.10]

Регистрация: Oct 2008
Сообщений: 24
я вот таким кодом сделал ограничение времени -
Код:
// время в милисекундах
var nPause:Number = 5000;

// myFunction - функция которая выполнится после заданного промежутка времени
var nTimeout:Number = setTimeout(myFunction, nPause);

function myFunction():Void
{
        // тут код сообщения по истечении заданного времени
	trace("Прошло 5 секунд");
}
мне нужно чтоб это ограничение показывалось в виде часов со стрелкой делующей полный оборот за 3 минуты


Последний раз редактировалось iNils; 06.11.2008 в 00:02.
Старый 06.11.2008, 12:27
Division вне форума Посмотреть профиль Отправить личное сообщение для Division Найти все сообщения от Division
  № 5  
Ответить с цитированием
Division
 
Аватар для Division

Регистрация: Jul 2008
Адрес: Украина, Херсон
Сообщений: 635
Отправить сообщение для Division с помощью ICQ
Если я правильно понял, нужно что-то вроде этого?
Код:
// время в милисекундах
var nPause:Number = 5000;
var Time:Number = 1000*60*3; // 3 минуты. Время за которое делаем полный оборот
var curTime = 0; // Прошедшее время

// myFunction - функция которая выполнится после заданного промежутка времени
var nTimeout:Number = setTimeout(myFunction, nPause);

function myFunction():Void
{
    // тут код сообщения по истечении заданного времени
	curTime += nPause;
	nTimeout = setTimeout(myFunction, nPause);
	trace(curTime/1000); // Прошедшее время в секундах
	clock._rotation = curTime/Time*360;
}
clock - это мувик со стрелкой, которую поворачиваем. Делает полный оборот за 3 минуты.

Хотя я бы делал всё по-другому (:
__________________
while(1) {}

Старый 06.11.2008, 12:55
borborich вне форума Посмотреть профиль Отправить личное сообщение для borborich Найти все сообщения от borborich
  № 6  
Ответить с цитированием
borborich
[+1.4 14.06.10]

Регистрация: Oct 2008
Сообщений: 24
а как по другому можно сделать?

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

Регистрация: Jul 2008
Адрес: Украина, Херсон
Сообщений: 635
Отправить сообщение для Division с помощью ICQ
Ну вообщем-то как удобно, так и делай. Я просто не люблю все эти таймауты и делал бы через getTimer (:
__________________
while(1) {}

Старый 06.11.2008, 17:48
BBOY Ильич вне форума Посмотреть профиль Отправить личное сообщение для BBOY Ильич Найти все сообщения от BBOY Ильич
  № 8  
Ответить с цитированием
BBOY Ильич
 
Аватар для BBOY Ильич

Регистрация: Nov 2007
Сообщений: 256
Записей в блоге: 1
Отправить сообщение для BBOY Ильич с помощью ICQ
Код:
fullTimer = 5;//время в секундах

function rotateArrow()
{
	var curTimer = getTimer();
	var percent = curTimer/(fullTimer*1000)
	percent < 1 ? arrow_mc._rotation = Math.round(percent*360) : clearInterval(intervalID);
}

intervalID = setInterval(rotateArrow, 10);


Последний раз редактировалось BBOY Ильич; 06.11.2008 в 17:53.
Создать новую тему Ответ Часовой пояс GMT +4, время: 13:39.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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