Инструменты пользователя

Инструменты сайта


help:realtime

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Следущая версия
Предыдущая версия
help:realtime [2013/10/10 10:58]
newsash создано
help:realtime [2017/05/05 18:20] (текущий)
aleks_versus
Строка 1: Строка 1:
 +[[help:​modules|Назад:​ Работа с файлами,​ использование модулей]]
 =====Реальное время===== =====Реальное время=====
  
 +  * **WAIT** //​[#​миллисекунды]//​ - остановка выполнения программы на заданное количество миллисекунд (1 секунда = 1000 миллисекунд).
 +  * **MSECSCOUNT** - возвращает количество миллисекунд,​ прошедших с момента начала игры.
  
-WAIT [#выражение- остановка выполнения программы на заданное количество миллисекунд ​(1 секунда = 1000 миллисекунд).+====События в реальном времени. Таймер==== 
 + 
 +В QSP есть возможность выполнять код через определённые промежутки времени — для этого используется локация-счётчик. 
 + 
 +Чтобы локация-счётчик заработаланеобходимо внести её название в служебную переменную **$COUNTER**. Например,​ если ваша локация-счётчик называется **«Счётчик»**,​ на самой первой локации в игре нужно написать:<​sxh qsp>​$COUNTER='​Счётчик'</​sxh>​Как правило,​ чтобы не путаться,​ локацию называют так же, как и служебную переменную —**«Counter»**:<​sxh qsp>​$COUNTER='​Counter'</​sxh>​ 
 + 
 +Затем на созданной локации-счётчике пишут код, который должен выполняться через определённые ​промежутки времени. 
 + 
 +По-умолчанию,​ код на локации-счётчике выполняется каждые пол секунды (500 миллисекунд). Но это ​значение можно изменить,​ использовав оператор **SETTIMER**:<​sxh qsp>! устанавливает период выполнения кода 
 +! на локации-счётчике в 100 миллисекунд 
 +SETTIMER 100</​sxh>​Комбинируя возможности операторов,​ функций и локации-счётчика,​ можно задавать множество ​событий,​ выполняемых в реальном времени
 +Для примера приведён код ​локации-счётчика,​ который будет выводить строки текста одну за одной каждые полторы ​секунды:<sxh qsp>​settimer 20 
 +if стихотворение=0:​ 
 + if время_первая_строка=0: 
 + время_первая_строка=msecscount+1500 
 + end 
 + if msecscount>​=время_первая_строка:​ 
 + *pl '​Веленью совести, о Муза, будь послушна!'​ 
 + стихотворение=1 
 + end 
 +end 
 +if стихотворение=1:​ 
 + if время_вторая_строка=0:​ 
 + время_вторая_строка=msecscount+1500 
 + end 
 + if msecscount>​=время_вторая_строка:​ 
 + *pl '​Обиды не страшась,​ не требуя венца,'​ 
 + стихотворение=2 
 + end 
 +end 
 +if стихотворение=2:​ 
 + if время_третья_строка=0:​ 
 + время_третья_строка=msecscount+1500 
 + end 
 + if msecscount>​=время_третья_строка:​ 
 + *pl '​Хвалу и клевету приемли равнодушно'​ 
 + стихотворение=3 
 + end 
 +end 
 +if стихотворение=3:​ 
 + if время_четвёртая_строка=0: 
 + время_четвёртая_строка=msecscount+1500 
 + end 
 + if msecscount>​=время_четвёртая_строка:​ 
 + *pl 'И не оспаривай глупца.'​ 
 + стихотворение=4 
 + end 
 +end</​sxh>​ 
 + 
 +=====Реализация времени в игре===== 
 +  - [[http://​qsp.su/​index.php?​option=com_agora&​task=topic&​id=956&​Itemid=57|Юлианских календарь от evp]] 
 +  - [[http://​qsp.su/​index.php?​option=com_agora&​task=topic&​id=956&​Itemid=57|Реализация игрового времени]] 
 + 
 +[[help:​classic_qsp|Вперёд:​ Классический плеер]]
  
  
-MSECSCOUNT - возвращает количество миллисекунд,​ прошедших с момента начала игры. 
  
help/realtime.1381388304.txt.gz · Последние изменения: 2013/10/10 14:58 (внешнее изменение)