python 2.7.x kivy 1.9.0
我只是从Kivy开始,通过Pong教程。事情一直进行得很顺利,但现在我得到了一个看起来非常简单的错误。我就是搞不明白出了什么问题。
我得到的错误是:
File: "C:\Users\toreilly\mystuff\kivypong.py" \n
def update(self, dt):
^
SyntaxError: invalid syntax代码如下:
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.properties import NumericProperty, ReferenceListProperty, \
ObjectProperty
from kivy.vector import Vector
from kivy.clock import Clock
from random import randint
class PongBall(Widget):
velocity_x = NumericProperty(0)
velocity_y = NumericProperty(0)
velocity = ReferenceListProperty(velocity_x, velocity_y)
def move(self):
self.pos = Vector(*self.velocity) + self.pos
class PongGame(Widget):
ball = ObjectProperty(None)
def serve_ball(self):
self.ball.center = self.center
self.ball.velocity = Vector(4,0).rotate(randint(0,360)
def update(self, dt):
self.ball.move()
#bounce off top and bottom
if (self.ball.y < 0) or (self.ball.top > self.height):
self.ball.velocity_y *= -1
#bounce off left and right
if (self.ball.x < 0) or (self.ball.right > self.width):
self.ball.velocity_x *= -1
class PongApp(App):
def build(self):
game = PongGame()
game.serve_ball()
Clock.schedule_interval(game.update, 1.0/60.0)
return game
if __name__ == '__main__':
PongApp().run()如果有任何指导,我将不胜感激。谢谢。
发布于 2015-06-30 23:14:01
在前面的方法中,您缺少一个右括号:
def serve_ball(self):
self.ball.center = self.center
self.ball.velocity = Vector(4,0).rotate(randint(0,360)) # HERE
def update(self, dt):
self.ball.move()https://stackoverflow.com/questions/31142092
复制相似问题