【发布时间】:2015-02-17 14:03:16
【问题描述】:
我尝试用 kivy 制作自己的 Coockie Clicker,但使用的是圣诞饼干。 我创建了一个 Coockie 的图像,您可以单击它和一个标签,显示您单击了多少次。 Label 需要一个字符串,所以我尝试将数字属性转换为字符串,但没有成功,因为我收到了错误消息:
<kivy.properties.NumericProperty object at 0xa6e32cc>
这是代码的一部分,我怀疑错误:
class Kecks(Widget):
count = NumericProperty(0)
amount = NumericProperty(1)
txt = StringProperty(str(count))
剩下的代码如下:
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.widget import Widget
from kivy.uix.label import Label
from kivy.core.window import Window
from kivy.clock import Clock
from kivy.animation import Animation
from kivy.core.text.markup import *
from kivy.uix.floatlayout import FloatLayout
from kivy.properties import NumericProperty
from kivy.properties import StringProperty
Builder.load_string('''
<Root>:
Kecks:
pos: 300, 300
<Kecks>:
Image:
pos: root.pos
id: my_image
source: 'piernik.png'
Label:
id: my_Label
font_size: 50
text: root.txt
center_x: root.width / 4
''')
class Root(FloatLayout):
pass
class Kecks(Widget):
count = NumericProperty(0)
amount = NumericProperty(1)
txt = StringProperty(str(count))
def on_touch_down(self, touch):
if self.collide_point(*touch.pos):
self.count += self.amount
print self.txt
class app(App):
def build(self):
Window.clearcolor = (10, 0, 0, 1)
return Root()
if __name__ == "__main__":
app().run()
【问题讨论】:
-
错误消息是
标签: python properties kivy