Время в игре
Подскажите, как пустить часы в Блитце3Д, что время отображалось на экране. К примеру начало событий в 8.00. А дальше время течет как в реальности, с той же скоростью. Еще необходимо, чтобы отсчитывались прошедшие сутки была возможность ускорять время на час и ставить на паузу. А потом привязывать к конкретному времени событие... Пример формата: День 2 - 16:05
Прошу помощи. Заранее спасибо. |
Re: Время в игре
поройся на blitz et cetera там в исходниках чё-то такое было
|
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] Жаль, однако, что табуляции и подсветка синтаксиса по сути не поддерживаются. Читаемость кода уходит в минус... |
Re: Время в игре
Спасибо. Спасибо большое. :) Даже не ожидал такого подробного примера.
|
Часовой пояс GMT +4, время: 09:40. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot