Краткая версия
Мне нужно отображать последний текст наратора в собственном экране, пока говорят персонажи. Но если использую какие либо условия в коде, то на мой драгоценный экран, из скрипта, попадает только последняя строчка наратора.
Вот пример кода
Код
init python: class My_gui():
def __init__(self):
self.previous_who = None
self.action_say = ""
self.action_show = False
my_gui = My_gui()
def My_fraud(who_origin, what_origin):
global my_gui
if (who_origin is None) and (my_gui.previous_who is not None):
my_gui.action_show = False
my_gui.action_say = what_origin
else:
my_gui.action_show = True
my_gui.previous_who = who_origin
return (who_origin, what_origin)
screen say(who, what):
style_prefix "say"
window:
id "window"
$ who, what = My_fraud(who, what)
if who is not None:
window:
id "namebox"
style "namebox"
text who id "who"
text what id "what"
screen fake_action:
window:
background "#0F07"
pos (20, 20)
xysize (300, 100)
text my_gui.action_say at topleft
label start:
"These words should be on screen fake_action in the next frame."
e "The window should appear the words of the narrator from the last frame"
"But these appear"
def __init__(self):
self.previous_who = None
self.action_say = ""
self.action_show = False
my_gui = My_gui()
def My_fraud(who_origin, what_origin):
global my_gui
if (who_origin is None) and (my_gui.previous_who is not None):
my_gui.action_show = False
my_gui.action_say = what_origin
else:
my_gui.action_show = True
my_gui.previous_who = who_origin
return (who_origin, what_origin)
screen say(who, what):
style_prefix "say"
window:
id "window"
$ who, what = My_fraud(who, what)
if who is not None:
window:
id "namebox"
style "namebox"
text who id "who"
text what id "what"
screen fake_action:
window:
background "#0F07"
pos (20, 20)
xysize (300, 100)
text my_gui.action_say at topleft
label start:
"These words should be on screen fake_action in the next frame."
e "The window should appear the words of the narrator from the last frame"
"But these appear"