Просмотр полной версии : часы
borborich
05.11.2008, 16:18
У меня в игре сделан таймер без визуального представления, как сделать часы чтоб они делали полный оборот равный 3м минутам?
вариантов масса ... что конкретно не получается ... и где это расти должно??
Division
05.11.2008, 17:52
borborich, да, что конкретно не получается? Вообще это просто. Если оборот часов задаётся в градусах, то его можно найти так:
angle = time_in_minutes/3*360
Можно в конце %360 дописать, чтоб угол был от 0 до 360.
time_in_minutes - время в минутах. Например если он равен 0.5, то это 30 секунд.
borborich
05.11.2008, 23:43
я вот таким кодом сделал ограничение времени -
// время в милисекундах
var nPause:Number = 5000;
// myFunction - функция которая выполнится после заданного промежутка времени
var nTimeout:Number = setTimeout(myFunction, nPause);
function myFunction():Void
{
// тут код сообщения по истечении заданного времени
trace("Прошло 5 секунд");
}
мне нужно чтоб это ограничение показывалось в виде часов со стрелкой делующей полный оборот за 3 минуты
Division
06.11.2008, 12:27
Если я правильно понял, нужно что-то вроде этого?
// время в милисекундах
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 минуты.
Хотя я бы делал всё по-другому (:
borborich
06.11.2008, 12:55
а как по другому можно сделать?
Division
06.11.2008, 13:01
Ну вообщем-то как удобно, так и делай. Я просто не люблю все эти таймауты и делал бы через getTimer (:
BBOY Ильич
06.11.2008, 17:48
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);
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.