使用以下行:
example_var_b = self.ids.level_one_bedroom_text.text
您没有指定属性,而是指定属性的值,因此在修改
example_var_b
不会修改文本。
如果要使代码更具可读性,请创建两个存储文本和进度的属性,这些属性将分配给标签和按钮的文本,如下所示:
*.千伏
...
<LevelOneBedroomScreen>:
name: 'level one bedroom'
level_one_bedroom_progress: "a01" # <--- property
level_one_bedroom_text: '*YAWN*' # <--- property
FloatLayout:
Label:
text: root.level_one_bedroom_progress # <--- set value
Image:
id: level_one_bedroom_image
source: 'placeholder_background.png'
size: self.size
pos: self.pos
allow_stretch: True
keep_ratio: False
BoxLayout:
orientation: 'vertical'
BoxLayout:
orientation: 'vertical'
Label:
text: 'Image of Bedroom'
text_size: self.width, None
valign: 'middle'
halign: 'center'
Button:
size_hint_y: .32
text: root.level_one_bedroom_text # <--- set value
color: .5,.2,1,1
background_color: 0,0,0,0
text_size: self.width, None
valign: 'middle'
halign: 'center'
on_release: root.next_text()
BoxLayout:
size_hint_y: .15
Button:
id: level_one_bedroom_left_button
background_color: 0,0,0,0
on_release: root.next_move()
Button:
text: 'Home'
on_release: root.manager.current = 'levels'
Button:
id: level_one_bedroom_right_button
background_color: 0,0,0,0
*.py
...
class LevelOneBedroomScreen(Screen):
def next_text(self):
if self.level_one_bedroom_progress == 'a01':
self.level_one_bedroom_text = 'Why is it that no matter how much I sleep, I always wake up tired?'
self.level_one_bedroom_progress = 'a02'
elif self.level_one_bedroom_progress == 'a02':
self.level_one_bedroom_text = 'But hey, at least itâs the weekend. What should I do first?'
self.level_one_bedroom_progress = 'a03'
elif self.level_one_bedroom_progress == 'a03': #Decision time!
self.manager.current = 'level one bedroom choice'
elif self.level_one_bedroom_progress == 'a03c1':
self.level_one_bedroom_text = 'Do I look like a responsible adult to you?'
self.level_one_bedroom_progress = 'a03c1a'
elif self.level_one_bedroom_progress == 'a03c1a': #Decision time!
self.manager.ids.level_one_bedroom_choice.ids.level_one_bedroom_choice_progress.text = 'a01a'
self.manager.current = 'level one bedroom choice'
elif self.level_one_bedroom_progress == 'a03c2':
self.level_one_bedroom_text = 'Nothing gets your day started like a hearty brownie!'
self.level_one_bedroom_progress = 'a03c2a'
elif self.level_one_bedroom_progress == 'a03c2a': #Time to Move!
self.level_one_bedroom_text = 'To the Kitchen! Post-haste!'
self.level_one_bedroom_left_button = 'Kitchen'
elif self.level_one_bedroom_progress == 'a03c3':
self.level_one_bedroom_text = 'I\'m too tired for this. Back to sleep it is!'
self.level_one_bedroom_progress = 'a03c3a'
elif self.level_one_bedroom_progress == 'a03c3a':
self.level_one_bedroom_text = 'Goodnight World!'
self.level_one_bedroom_progress = 'a03cb'
elif self.level_one_bedroom_progress == 'a03cb':
self.manager.current = 'game over'
self.manager.ids.game_over.ids.game_over_text.text = 'a01'
self.manager.ids.game_over.ids.game_over_text.text = 'And so you went to sleep.'
def next_move(self):
if self.level_one_bedroom_progress == 'a03c2a':
self.manager.current = 'level one kitchen'
...