Example #1
0
  def __init__(self,x,y,event,pather,image):
    pygame.sprite.Sprite.__init__(self)
    self.path     = []
    self.target   = (x,y)
    self.event    = event
    self.pather   = pather
    self.image    = image
    self.baseImage= self.image
    self.rect     = self.baseImage.get_rect()
    self.speed    = 4
    self.bearing  = 0
    self.turnSpeed= 10
    self.x,self.y = toPixels((x, y))

    self.event.register("recheckPath", self.recheck)
    self.rect.center = (x+32, y+32)
Example #2
0
  def update(self):
    reached = True

    targetPixel = toPixels(self.target)

    if self.rect.centerx > targetPixel[0]:
      if self.bearing == 90:
        self.x -= self.speed
      else:
        self.turnTo(90)
      reached = False
    elif self.rect.centerx < targetPixel[0]:
      if self.bearing == 270:
        self.x += self.speed
      else:
        self.turnTo(270)
      reached = False
    
    if self.rect.centery > targetPixel[1]:
      if self.bearing == 0:
        self.y -= self.speed
      else:
        self.turnTo(0)
      reached = False
    elif self.rect.centery < targetPixel[1]:
      if self.bearing == 180:
        self.y += self.speed
      else:
        self.turnTo(180)
      reached = False
      
    if reached:
      if len(self.path) > 0:
        self.target = self.path.pop(0)
    
    self.image = pygame.transform.rotate(self.baseImage, self.bearing)
    self.rect = self.image.get_rect()
    self.rect.center = (self.x, self.y)
Example #3
0
 def updateImage(self):
   if self.type > 0 and self.level > 0:
     self.image.blit(towerSet, self.image.get_rect(), pygame.Rect((self.type-1)*64, (self.level-1)*64, 64, 64))
     self.rect = self.image.get_rect()
     self.rect.center = toPixels(self.pos)