10.1. Для чего нужен оператор REFINT, и как он работает?
В: Для чего нужен оператор REFINT, и как он работает?
О:
О том, для чего нужен оператор REFINT, и как он работает, прямо написано в справке:
REFINT— обновление интерфейса (а также смена цветов, шрифта, назначенных с помощью системных переменныхBCOLOR,FCOLOR,LCOLOR,FSIZE,$FNAME).
И ещё:
Обновление настроек интерфейса происходит 2 раза в секунду (автоматически, по умолчанию), либо с помощью оператора
REFINT. Также см. операторSETTIMER.
Таким образом, оператор REFINT нужен для принудительного обновления настроек интерфейса.
Есть ещё комментарий от разработчика:
REFINTпринудительно выводит на экран текст, который находится в буфере вывода
Это говорит о том, что перед тем, как вывести на экра н текст, плеер помещает его в буфер, и только потом (после выполнения кода локации) выводит на экран. REFINT позволяет не только обновить настройки интерфейса, но и вывести часть текста, уже помещённую в буфер, на экран.
Чтобы лучше понять, что делает REFINT, напишите игру с таким кодом, и покликайте на действия:
showstat 0
showobjs 0
act "меняем настройки без refint":
showstat 1
bcolor=rgb(0,88,0)
loop local i=0 while i<10000000 step i+=1:
! пустой цикл
end
end
act "меняем настройки c refint":
showobjs 1
bcolor=rgb(0,88,88)
refint
loop local i=0 while i<10000000 step i+=1:
! пустой цикл
end
end
Не удивляйтесь подвисанию игры при клике по действию — цикл из десяти миллионов итераций выполняется долго.
Рабочий пример: скачать.