def update(self, allSprites): entity.update(self, allSprites) if self.wasjusthit == 2: self.prev = self.data["facing"] self.data["facing"] = 4 self.wasjusthit = 1 self.manager.alert(chameleon.event("entityMoved", (self, (self.rect.x, self.rect.y), self.curLevel))) elif self.wasjusthit == 1: self.data["facing"] = self.prev self.wasjusthit = 0 self.manager.alert(chameleon.event("entityMoved", (self, (self.rect.x, self.rect.y), self.curLevel))) if self.data["health"] <= 0: self.manager.alert(chameleon.event("killEntity", self)) self.kill() self.manager.alert(chameleon.event("gameOver", self))
def update(self, allSprites): requestx = self.requestx requesty = self.requesty temp = [sprite for sprite in allSprites if sprite is not self] bumped = [] x = self.rect.move(requestx, 0).collidelistall(temp) if len(x): requestx = 0 bumped.extend(x) y = self.rect.move(0, requesty).collidelistall(temp) if len(y): requesty = 0 bumped.extend(y) self.rect.move_ip(requestx, requesty) if self.requestx or self.requesty: self.manager.alert(chameleon.event("entityMoved", (self, (self.rect.x, self.rect.y), self.curLevel))) for index in bumped: allSprites[index].bump(self)
def hit(self, hitter): print "stairswarp" hitter.curLevel = self.warp print hitter hitter.manager.alert(chameleon.event("switchLevel", hitter))
def hit(self, hitter): print "stairsdown" hitter.curLevel += 1 print hitter hitter.manager.alert(chameleon.event("switchLevel", hitter))
def hit(self, hitter): print "stairsup" print "curLevel: " + str(hitter.curLevel) hitter.curLevel -= 1 print hitter hitter.manager.alert(chameleon.event("switchLevel", hitter))
def hit(self, hitter): print "messageBox hit" hitter.manager.alert(chameleon.event("displayText", (self.msg, hitter)))