Exemple #1
0
 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 )
Exemple #2
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
Exemple #3
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
Exemple #4
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
Exemple #5
0
 def __init__(self, playState):
     sheet = pygame.Surface((800, 600)).convert()
     HudElement.__init__(self, playState, (0, 0), sheet, False)
Exemple #6
0
 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)
Exemple #7
0
 def update(self, dt):
     HudElement.update(self, dt)
     self.regenerateImage()
Exemple #8
0
 def __init__(self, laser, playState):
     self.laser = laser
     sheet = self.generateImage()
     HudElement.__init__(self, playState,
                         (laser.rect.left, laser.rect.top - 6), sheet,
                         False)
Exemple #9
0
 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 )
Exemple #10
0
 def __init__( self, playState ):
     sheet = pygame.Surface( (800, 600) ).convert()
     HudElement.__init__( self, playState, (0,0), sheet, False )
Exemple #11
0
 def update( self, dt ):
     HudElement.update( self, dt )
     self.regenerateImage()
Exemple #12
0
 def __init__( self, laser, playState ):
     self.laser = laser
     sheet = self.generateImage()
     HudElement.__init__( self, playState, (laser.rect.left, laser.rect.top-6), sheet, False )
Exemple #13
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