AttributeError : Instance de la Classe n'a pas d' __appel__ méthode

Je suis un peu nouveau pour python, mais familier avec la programmation orientée objet. Je suis en train d'écrire un jeu avec PyGame. Fondamentalement, mon but est de rendre les arbres de toutes les quelques secondes et déplacer l'arbre rectangles à travers l'écran.

Donc voici mon code:

from collections import deque
import pygame,random,sys

pygame.init()
size = 800,600
screen = pygame.display.set_mode(size)

class tree:
    def __init__(self):
            self.img = pygame.image.load("tree.png")
            self.rect = self.img.get_rect()
    def render(self):
            screen.blit(self.img,self.rect)
    def move(self,x,y):
            self.rect = self.rect.move(x,y)

#creating a queue of trees
trees = deque()

#appending the first tree on to the queue 
trees.append(tree())


while 1:


    for event in pygame.event.get():
            if event.type == pygame.QUIT: sys.exit()

    #appending tree() to trees queue every 300 ms
    if pygame.time.get_ticks() % 300 == 0:
            trees.append(tree())

    #rendering and moving all the tree rects of trees in the queue
    for tree in trees:
            tree.render()
            tree.move(20,2)
    pygame.display.flip()

Mais quand j'execute ce les premiers arbres sont générés avec succès, mais alors la fenêtre PyGame fermé et j'ai cette erreur:

Traceback (most recent call last):
File "error.py", line 25, in <module>
trees.append(tree())
AttributeError: tree instance has no __call__ method
InformationsquelleAutor | 2012-07-04