Python: AttributeError: 'Pong' object has no attribute 'render' -
came across error while following python tutorial create game pong:
traceback (most recent call last): file "c:/users/gavin/pycharmprojects/lmagpong/game.py", line 98, in <module> main() file "c:/users/gavin/pycharmprojects/lmagpong/game.py", line 91, in main pong.render(screen) attributeerror: 'pong' object has no attribute 'render'
this code used create pong object(render @ bottom):
class pong(object): def __init__(self, screensize): self.screensize = screensize self.centerx = int(screensize[0] * 0.5) self.centery = int(screensize[1] * 0.5) self.radius = 8 self.rect = pygame.rect(self.centerx - self.radius, self.centery - self.radius, self.radius * 2, self.radius * 2) self.color = (100, 100, 255) self.direction = [1, 1] self.speed = 2 self.hit_edge_left = false self.hit_edge_right = false def update(self, player_paddle=none, ai_paddle=none): self.centerx += self.direction[0] * self.speed self.centery += self.direction[1] * self.speed self.rect.center = (self.centerx, self.centery) if self.rect.top <= 0: self.direction[1] = 1 elif self.rect.bottom >= self.screensize[1] - 1: self.direction[1] = -1 if self.rect.right >= self.screensize[0] - 1: self.hit_edge_right = true elif self.rect.left <= 0: self.hit_edge_left = true def render(self, screen): pygame.draw.circle(screen, self.color, self.rect.center, self.radius, 0) pygame.draw.circle(screen, (0, 0, 0), self.rect.center, self.radius, 1)
and main function(called render near bottom):
def main(): pygame.init() screensize = (640, 320) screen = pygame.display.set_mode(screensize) clock = pygame.time.clock() pong = pong(screensize) running = true while running: # fps limiting/reporting phase clock.tick(64) # event handling phase event in pygame.event.get(): if event.type == quit: running = false # object updating phase pong.update() if pong.hit_edge_left: print('you won') running = false elif pong.hit_edge_right: print('you lose') running = false # rendering phase screen.fill((100, 100, 100)) pong.render(screen) pygame.display.flip() pygame.quit()
im new python im trying hang of this, im not sure if im making simple mistake or im doing wrong, im following tutorial.
Comments
Post a Comment