forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Алгоритмика (http://forum.boolean.name/forumdisplay.php?f=21)
-   -   Время в игре (http://forum.boolean.name/showthread.php?t=1982)

Valet 24.11.2006 00:43

Время в игре
 
Подскажите, как пустить часы в Блитце3Д, что время отображалось на экране. К примеру начало событий в 8.00. А дальше время течет как в реальности, с той же скоростью. Еще необходимо, чтобы отсчитывались прошедшие сутки была возможность ускорять время на час и ставить на паузу. А потом привязывать к конкретному времени событие... Пример формата: День 2 - 16:05

Прошу помощи. Заранее спасибо.

ZanoZa 24.11.2006 11:38

Re: Время в игре
 
поройся на blitz et cetera там в исходниках чё-то такое было

Diplomat 24.11.2006 14:50

Re: Время в игре
 
Итак, повторяем пройденный материал.

Для вывода реального системного времени- см.Хелп -> 2D -> Time.
Для создания "внутреигрового" времени отлично подойдет следующая простейшая схема.
[highlight="blitzbasic"];Инициализация графики
Graphics 320,240,16,2
SetBuffer BackBuffer()

;Предустановка времени
Sec=0
Min=30
Hour=8
Day=1

;Задержка обновления времени (ms)
TimeDelay=1000

;Гл.цикл
While Not KeyHit(1)

;Ограничитель проходов
If M<MilliSecs() Then
M=M+TimeDelay
If M<MilliSecs() Then M=MilliSecs()+TimeDealay

;Обновление времени
Sec=Sec+1
If Sec>59 Then Sec=0 : Min=Min+1
If Min>59 Then Min=0 : Hour=Hour+1
If Hour>23 Then Hour=0 : Day=Day+1

EndIf

;Подсчет FPS
If FPSTime<MilliSecs() Then
FPSTime=MilliSecs()+1000
CurrentFPS=FPSCounter
FPSCounter=0
Else
FPSCounter=FPSCounter+1
EndIf

;Вывод скорости течения времени, ФПС и текущего условного времени на экран
Cls
Text 10,10,"TIMESCALE: x"+ 1000/Float(TimeDelay)
Text 10,30,"DAY "+Day+" ; "+Hour+ ":"+Min+":"+Sec
Text 10,50,"FPS: "+CurrentFPS
Flip 0

Wend

End[/highlight]
Жаль, однако, что табуляции и подсветка синтаксиса по сути не поддерживаются. Читаемость кода уходит в минус...

Valet 24.11.2006 17:16

Re: Время в игре
 
Спасибо. Спасибо большое. :) Даже не ожидал такого подробного примера.


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot