【发布时间】:2014-12-09 17:15:20
【问题描述】:
我想制作一个 kivy 程序,让一个矩形在到达窗口左端时停止的窗口上运行。 我试图用时钟时间表解决这个问题,但没有奏效。 代码如下:
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.widget import Widget
from kivy.clock import Clock
from kivy.animation import Animation
from kivy.properties import ListProperty
from kivy.core.window import Window
Builder.load_string('''
<Root>:
enemy:
pos: 100, 300
<enemy>:
canvas:
Color:
rgba: 10, 0, 0, 1
Rectangle:
pos: self.pos
size: self.size
''')
class Root(Widget):
pass
class enemy(Widget):
velocity = ListProperty([1, 0])
def __init__(self, **kwargs):
super(ClockRect, self).__init__(**kwargs)
Clock.schedule_interval(self.Update, 1/60.)
def Update(self, *args):
self.y -= self.velocity[0]
if self.y < 1:
self.velocity[0] = 0
class app(App):
def build(self):
return Root()
if __name__ == "__main__":
app().run()
第 14 行出现错误:
pos: 100, 300
^
SyntaxError: 无效语法
为什么这个语法无效?
【问题讨论】:
标签: python-2.7 kivy