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]
Жаль, однако, что табуляции и подсветка синтаксиса по сути не поддерживаются. Читаемость кода уходит в минус...
|