On Mon, 2009-03-30 at 11:05 -0500, Zach Goscha wrote: > Hi, > > I am trying to call an unbound method (Map.Background) but getting the > following error: > TypeError: unbound method background() must be called with Map > instance as first argument (got nothing instead) > > Here is some of the code(not completed) > > Thanks in Advance > - Zach > > > Code: > > class Knight(games.Sprite): > """ A moving knight. """ > SWORD_DELAY = 50 > sword_wait = 0 > > > def update(self): > """ moving knight based on keys pressed. """ > > if games.keyboard.is_pressed(games.K_w): > self.y -= 3 > self.angle = 0 > if games.keyboard.is_pressed(games.K_s): > self.y += 3 > self.angle = 180 > if games.keyboard.is_pressed(games.K_a): > self.x -= 3 > self.angle = 270 > if games.keyboard.is_pressed(games.K_d): > self.x += 3 > self.angle = 90 > > if self.top > games.screen.height: > self.bottom = 0 > > if self.bottom < 0: > self.top = games.screen.height > Map.background() > > if self.left > games.screen.width: > self.right = 0 > > if self.right < 0: > self.left = games.screen.width > > class Map(games.Sprite): > > def background(self): ^^^^ > new_back = games.load_image("map3.jpg", > transparent = False) > games.screen.background = new_back
'self' implies that this is an instance method. If this is not an instance method then don't use self. If what you want is a static method (or class method) then use the staticmethod (or classmethod) function or decorator. I.e. @staticmethod def background(): ... > > -- > http://mail.python.org/mailman/listinfo/python-list -- http://mail.python.org/mailman/listinfo/python-list