0
我是編程新手,決定在Kivy創建一款遊戲。 我陷入了相當簡單的問題。如果有一個按鈕和一個顯示分數的標籤,我如何使用on_press
事件來增加分數?Kivy按鈕和遊戲得分
例如當按下按鈕時,分數變爲1,依此類推。
此外,在Python文件中寫入所有內容還是應該使用kv文件?
我是編程新手,決定在Kivy創建一款遊戲。 我陷入了相當簡單的問題。如果有一個按鈕和一個顯示分數的標籤,我如何使用on_press
事件來增加分數?Kivy按鈕和遊戲得分
例如當按下按鈕時,分數變爲1,依此類推。
此外,在Python文件中寫入所有內容還是應該使用kv文件?
您只能使用python或kv語言。這完全取決於你。 在這種情況下,我們使按鈕調用函數,增加標籤文本。 我會舉兩個例子。一個只使用python,另一個使用kivy語言。
這是唯一的蟒蛇一個例子:使用Python和kivy語言
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文件:
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