Kivy 按钮和游戏得分
Kivy button and game score
我是编程新手,决定在 Kivy 中创建一个游戏。
我遇到了一个非常简单的问题。如果有一个按钮和一个显示分数的标签,我如何使用 on_press
事件来增加分数?
例如当按下按钮时,分数变为 1,依此类推。
此外,是将所有内容都写入 Python 文件更好还是我也应该使用 kv 文件?
只能使用python,或者kv语言。这完全取决于你。
在这种情况下,我们让按钮调用函数,增加标签文本。
我举两个例子。一种仅使用 python,一种与 kivy 语言结合使用。
这只是 python 中的示例:
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.label import Label
from kivy.uix.boxlayout import BoxLayout
class Game(BoxLayout):
def __init__(self,**kwargs):
super(Game,self).__init__(**kwargs)
self.count = 0
self.orientation = "vertical"
self.button = Button(on_press=self.increment, text="Increment")
self.label = Label(text="0")
self.add_widget(self.button)
self.add_widget(self.label)
def increment(self,*args):
self.count += 1
self.label.text = str(self.count)
class MyApp(App):
def build(self):
return Game()
同样的应用程序使用 python 和基维语。
Python 文件:
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.label import Label
from kivy.uix.boxlayout import BoxLayout
from kivy.properties import StringProperty
class Game(BoxLayout):
label_text = StringProperty()
def __init__(self,**kwargs):
super(Game,self).__init__(**kwargs)
self.count = 0
self.label_text = str(self.count)
def increment(self,*args):
self.count += 1
self.label_text = str(self.count)
print self.label_text
class MyApp(App):
def build(self):
return Game()
MyApp().run()
和my.kv文件:
#:kivy 1.9.1
<Game>:
orientation: "vertical"
Button:
text: "Increment"
on_press: root.increment()
Label:
text: root.label_text
我是编程新手,决定在 Kivy 中创建一个游戏。
我遇到了一个非常简单的问题。如果有一个按钮和一个显示分数的标签,我如何使用 on_press
事件来增加分数?
例如当按下按钮时,分数变为 1,依此类推。
此外,是将所有内容都写入 Python 文件更好还是我也应该使用 kv 文件?
只能使用python,或者kv语言。这完全取决于你。 在这种情况下,我们让按钮调用函数,增加标签文本。 我举两个例子。一种仅使用 python,一种与 kivy 语言结合使用。
这只是 python 中的示例:
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.label import Label
from kivy.uix.boxlayout import BoxLayout
class Game(BoxLayout):
def __init__(self,**kwargs):
super(Game,self).__init__(**kwargs)
self.count = 0
self.orientation = "vertical"
self.button = Button(on_press=self.increment, text="Increment")
self.label = Label(text="0")
self.add_widget(self.button)
self.add_widget(self.label)
def increment(self,*args):
self.count += 1
self.label.text = str(self.count)
class MyApp(App):
def build(self):
return Game()
同样的应用程序使用 python 和基维语。
Python 文件:
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.label import Label
from kivy.uix.boxlayout import BoxLayout
from kivy.properties import StringProperty
class Game(BoxLayout):
label_text = StringProperty()
def __init__(self,**kwargs):
super(Game,self).__init__(**kwargs)
self.count = 0
self.label_text = str(self.count)
def increment(self,*args):
self.count += 1
self.label_text = str(self.count)
print self.label_text
class MyApp(App):
def build(self):
return Game()
MyApp().run()
和my.kv文件:
#:kivy 1.9.1
<Game>:
orientation: "vertical"
Button:
text: "Increment"
on_press: root.increment()
Label:
text: root.label_text