Kivy Pong教程SyntaxError:语法无效

时间:2015-06-30 15:12:12

标签: python syntax-error kivy

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()

我将非常感谢所有指导。谢谢。

1 个答案:

答案 0 :(得分:1)

您在上一个方法中缺少右括号:

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()
相关问题