
init python:
import string
# переменные (вручную не трогать)
qte_word = ""
next_k = ""
qteTime = .0
qteMaxTime = 5.0
abc = list(string.ascii_lowercase)
# инициализация игры при запуске экрана
# параметры передаются при вызове экрана игры
# если слово пустое, то генерируется рандомное длиной length
# time - время, отведенное на игру в секундах
def qte_init(word="", time=5.0, length=5):
global qte_word, next_k, qteMaxTime, qteTime
qteMaxTime = time
qteTime = time
qte_word = word.lower()
if word:
next_k = qte_word[0]
else:
for i in range(0, length):
qte_word = qte_word + renpy.random.choice(abc)
next_k = qte_word[0]
renpy.restart_interaction()
# нажатие очередной нужной кнопки, переходим к следующей
def next_key():
global qte_word, next_k
qte_word = qte_word[1:]
next_k = ""
if qte_word:
next_k = qte_word[0]
renpy.restart_interaction()
NextKey = renpy.curry(next_key)
qteInit = renpy.curry(qte_init)
# сам экран игры
screen scr_qte(word="", time=5.0, length=5):
# инициализация
on 'show' action qteInit(word, time, length)
modal True
if qte_word:
# уменьшаем время, отведенное на игру, и проверяем, не вышло ли оно - проигрыш
timer 0.01 repeat True action [SetVariable("qteTime", qteTime - .01), If(qteTime <= .0, true=Return(False))]
# отображаем, какую кнопку нужно нажать
text next_k.upper() align(.5, .5) size 96
# если что-то нужно нажать, то опрашивает клавиатуру
if len(next_k) == 1:
key next_k action NextKey()
else:
# все кнопки нажаты - победа
timer .1 action Return(True)
# шкала времени
bar value StaticValue(qteTime, qteMaxTime) align(.5, .1) xmaximum 600
а как поменять цвет букв в qte?
ОтветитьУдалитьhow change color of word in QTE?
В строке:
Удалитьtext next_k.upper() align(.5, .5) size 96
нужно дописать color("#ХЭШ_ЦВЕТА")
Например:
text next_k.upper() align(.5, .5) size 96 color(#ffffff)
#Это белый цвет