gpt4 book ai didi

python - 如何在 .kv 文件中使用 if 语句

转载 作者:行者123 更新时间:2023-12-05 05:11:27 24 4
gpt4 key购买 nike

我想加载一个特定的图像,在这种情况下,我希望我的游戏显示钢铁侠的图像,但只有当变量“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 事件。

Kivy » ToggleButton

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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com