我想加载一个特定的图像,在这种情况下,我希望我的游戏显示钢铁侠的图像,但只有当变量“char”设置为钢铁侠时,玩家选择玩时才会设置和他一样。
<Game2>:
name: "Avengers Tower"
FloatLayout:
Image:
source: "avengerstower.png"
下面的图像代码是当 char 是钢铁侠时我要运行的代码
Image:
source: "ironmanhover.png"
pos_hint: {"x": .6, "y": .05}
size_hint: .4, .7
Label:
text: "You are in the Avengers Tower!"
pos_hint: {"x": .45, "y": .6}
font_size: "20dp"
color: (0,0,0,1)
size_hint: None, None
Button:
text: "North"
pos_hint: {"x": .45, "y": .85}
size_hint: None, None
height: 50
on_press:
root.manager.current = "AvengersCourtyard"
下面这段代码是设置 char 值的地方。
<Game>:
name: "main"
FloatLayout:
Image:
source: "choosecharacter.png"
Image:
source: "choosechar.png"
pos_hint: {"x": .3, "y": .25}
size_hint: .4, .8
Button:
text: "<- Back"
font_size: "15dp"
pos: 40, 510
size_hint: None, None
height: 50
on_press:
root.manager.current = "Title"
ToggleButton:
text: "Iron Man"
font_size: "15dp"
pos: 200, 150
size_hint: None, None
height: 80
group: "character"
on_press:
char = "Iron Man"
ToggleButton:
text: "Thor"
font_size: "15dp"
pos: 350, 150
size_hint: None, None
height: 80
group: "character"
on_press:
char = "Thor"
ToggleButton:
text: "Scarlett Witch"
font_size: "15dp"
pos: 500, 150
size_hint: None, None
height: 80
group: "character"
on_press:
char = "Scarlett Witch"
Button:
text: "Play!"
height: 50
font_size: "15dp"
pos: 650, 60
size_hint: None, None
on_press:
root.manager.current = "Avengers Tower"
这些是上面的按钮 ^^
最佳答案
ToggleButton 没有 on_press
事件。它有 on_state
事件。
The ToggleButton widget acts like a checkbox. When you touch or click it, the state toggles between ‘normal’ and ‘down’ (as opposed to a Button that is only ‘down’ as long as it is pressed).
Toggle buttons can also be grouped to make radio buttons - only one button in a group can be in a ‘down’ state.
片段
ToggleButton:
text: "Iron Man"
font_size: "15dp"
pos: 200, 150
size_hint: None, None
height: 80
group: "character"
#on_press:
on_state:
if self.state == "down": \
print(self.text); \
root.manager.current = "Avengers Tower"
ToggleButton:
text: "Thor"
font_size: "15dp"
pos: 350, 150
size_hint: None, None
height: 80
group: "character"
#on_press:
on_state:
if self.state == "down": \
print(self.text); \
root.manager.current = "Thor"
ToggleButton:
text: "Scarlett Witch"
font_size: "15dp"
pos: 500, 150
size_hint: None, None
height: 80
group: "character"
#on_press:
on_state:
if self.state == "down": \
print(self.text); \
root.manager.current = "Scarlett Witch"
关于python - 如何在 .kv 文件中使用 if 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55407135/