2016-07-20 62 views
0

我是編程新手,決定在Kivy創建一款遊戲。 我陷入了相當簡單的問題。如果有一個按鈕和一個顯示分數的標籤,我如何使用on_press事件來增加分數?Kivy按鈕和遊戲得分

例如當按下按鈕時,分數變爲1,依此類推。

此外,在Python文件中寫入所有內容還是應該使用kv文件?

回答

0

您只能使用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