def __init__( self, pos, text, playState, colour=None ): self.text = text if colour is None: colour = pygame.Color(0,0,0) self.colour = colour sheet = self.font.render( self.text, False, colour ) HudElement.__init__( self, playState, pos, sheet, False )
def update( self, dt ): HudElement.update( self, dt ) if self.dying: #self.image.set_alpha( int( 255*( 1.0-( self.removeTimer/self.removeTime) ) ) ) ratio = ( ( ( self.removeTimer-self.removeTime )**2 )/(self.removeTime**2) ) self.image.set_alpha( int( 255*ratio ) ) self.removeTimer += dt if self.removeTimer > self.removeTime: self.playStateRef().hudList.remove( self ) self.removed = True self.dying = False self.removeTimer = 0.0 elif self.borning: ratio = ( ( ( self.bornTimer-self.bornTime )**2 )/(self.bornTime**2) ) self.image.set_alpha( int( 255*ratio ) ) self.bornTimer += dt if self.bornTimer > self.bornTime: self.borning = False self.bornTimer = 0.0
def update(self, dt): HudElement.update(self, dt) if self.dying: #self.image.set_alpha( int( 255*( 1.0-( self.removeTimer/self.removeTime) ) ) ) ratio = (((self.removeTimer - self.removeTime)**2) / (self.removeTime**2)) self.image.set_alpha(int(255 * ratio)) self.removeTimer += dt if self.removeTimer > self.removeTime: self.playStateRef().hudList.remove(self) self.removed = True self.dying = False self.removeTimer = 0.0 elif self.borning: ratio = (((self.bornTimer - self.bornTime)**2) / (self.bornTime**2)) self.image.set_alpha(int(255 * ratio)) self.bornTimer += dt if self.bornTimer > self.bornTime: self.borning = False self.bornTimer = 0.0
def __init__( self, playState, text, box=None ): sheet = loadImageNoAlpha( self.sheetFileName ) self.originFrames = splitFrames( sheet, (32, 32) ) if box is None: w, h = getResolution() box = pygame.Rect( (0, (7.0/12)*h), (w, (5.0/12)*h ) ) img = pygame.Surface( (box.w, box.h) ).convert() #img.fill( pygame.Color( 0, 0, 0, 0 ) ) for x in range( 32, box.w, 32 ): img.blit( self.originFrames[1], (x, 0) ) img.blit( self.originFrames[7], (x, box.h-32) ) for y in range( 32, box.h, 32 ): img.blit( self.originFrames[3], (0, y) ) img.blit( self.originFrames[5], (box.w-32, y) ) for x in range( box.x+32, box.w+box.x-32, 32 ): for y in range( 32, box.h-32, 32 ): img.blit( self.originFrames[4], (x,y) ) img.blit( self.originFrames[0], ( 0, 0 ) ) img.blit( self.originFrames[2], (box.w-32, 0) ) img.blit( self.originFrames[6], (0, box.h-32) ) img.blit( self.originFrames[8], (box.w-32, box.h-32) ) wLimit = box.w-64 subStrings = [] lastIndex = 0 for eachIndex in range( len( text ) ): eachSub = text[lastIndex:eachIndex] if text[eachIndex] == "\n": subStrings.append( eachSub ) lastIndex = eachIndex + 1 elif self.font.size( eachSub )[0] > wLimit: subStrings.append( eachSub[:-1] ) lastIndex = eachIndex - 1 elif eachIndex == ( len( text ) - 1 ): subStrings.append( eachSub+text[-1] ) if len( subStrings ) is 0: subStrings = [ text ] curIndex = 0 curY = 32 while curY < box.h-32 and curIndex < len( subStrings ): eachImg = self.font.render( subStrings[curIndex], True, pygame.Color( 0, 0, 0 ) ) img.blit( eachImg, ( 32, curY ) ) curY += eachImg.get_height() curIndex += 1 HudElement.__init__( self, playState, box.topleft, img, False ) self.image.set_colorkey( self.colourKey ) self.dying = False self.removed = False self.removeTime = 0.5 self.removeTimer = 0.0 self.borning = True self.bornTime = 0.25 self.bornTimer = 0.0
def __init__(self, playState): sheet = pygame.Surface((800, 600)).convert() HudElement.__init__(self, playState, (0, 0), sheet, False)
def __init__(self, pos, playState): sheet = loadImageNoAlpha("bolt.png") colourKey = pygame.Color(255, 0, 255) sheet.set_colorkey(colourKey) HudElement.__init__(self, playState, pos, sheet, False)
def update(self, dt): HudElement.update(self, dt) self.regenerateImage()
def __init__(self, laser, playState): self.laser = laser sheet = self.generateImage() HudElement.__init__(self, playState, (laser.rect.left, laser.rect.top - 6), sheet, False)
def __init__( self, pos, playState ): sheet = loadImageNoAlpha("bolt.png") colourKey = pygame.Color(255, 0, 255) sheet.set_colorkey(colourKey) HudElement.__init__( self, playState, pos, sheet, False )
def __init__( self, playState ): sheet = pygame.Surface( (800, 600) ).convert() HudElement.__init__( self, playState, (0,0), sheet, False )
def update( self, dt ): HudElement.update( self, dt ) self.regenerateImage()
def __init__( self, laser, playState ): self.laser = laser sheet = self.generateImage() HudElement.__init__( self, playState, (laser.rect.left, laser.rect.top-6), sheet, False )
def __init__(self, playState, text, box=None): sheet = loadImageNoAlpha(self.sheetFileName) self.originFrames = splitFrames(sheet, (32, 32)) if box is None: w, h = getResolution() box = pygame.Rect((0, (7.0 / 12) * h), (w, (5.0 / 12) * h)) img = pygame.Surface((box.w, box.h)).convert() #img.fill( pygame.Color( 0, 0, 0, 0 ) ) for x in range(32, box.w, 32): img.blit(self.originFrames[1], (x, 0)) img.blit(self.originFrames[7], (x, box.h - 32)) for y in range(32, box.h, 32): img.blit(self.originFrames[3], (0, y)) img.blit(self.originFrames[5], (box.w - 32, y)) for x in range(box.x + 32, box.w + box.x - 32, 32): for y in range(32, box.h - 32, 32): img.blit(self.originFrames[4], (x, y)) img.blit(self.originFrames[0], (0, 0)) img.blit(self.originFrames[2], (box.w - 32, 0)) img.blit(self.originFrames[6], (0, box.h - 32)) img.blit(self.originFrames[8], (box.w - 32, box.h - 32)) wLimit = box.w - 64 subStrings = [] lastIndex = 0 for eachIndex in range(len(text)): eachSub = text[lastIndex:eachIndex] if text[eachIndex] == "\n": subStrings.append(eachSub) lastIndex = eachIndex + 1 elif self.font.size(eachSub)[0] > wLimit: subStrings.append(eachSub[:-1]) lastIndex = eachIndex - 1 elif eachIndex == (len(text) - 1): subStrings.append(eachSub + text[-1]) if len(subStrings) is 0: subStrings = [text] curIndex = 0 curY = 32 while curY < box.h - 32 and curIndex < len(subStrings): eachImg = self.font.render(subStrings[curIndex], True, pygame.Color(0, 0, 0)) img.blit(eachImg, (32, curY)) curY += eachImg.get_height() curIndex += 1 HudElement.__init__(self, playState, box.topleft, img, False) self.image.set_colorkey(self.colourKey) self.dying = False self.removed = False self.removeTime = 0.5 self.removeTimer = 0.0 self.borning = True self.bornTime = 0.25 self.bornTimer = 0.0