@Banever-XforDez

Не работает программа, всё вроде написано правильно, но выдаёт ошибку?

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() # двигаем шарик в каждом обновлении экрана

# отскок шарика по оси Y
if(self.ball.y < 0) or (self.ball.top > self.height):
self.ball.velocity_y *= -1 # инверсируем текущуу скорость по оси Y

# отскок шарика по оси X
if(self.ball.x < 0) or (self.ball.right > self.widht):
self.ball.velocity_x *= -1 # инверсируем текущуу скорость по оси X

class PongApp(App):
def build(self):
game = PongGame()
game.serve_ball()
Clock.schedule_interval(game.update, 1.0/60) # FPS
return game

if __name__ == '__main__':
PongApp().run()

А выходит ошибка: AttributeError: 'NoneType' object has no attribute 'move'
  • Вопрос задан
  • 40 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы