diff options
Diffstat (limited to 'MAFH2/TermBox.py')
-rw-r--r-- | MAFH2/TermBox.py | 29 |
1 files changed, 17 insertions, 12 deletions
diff --git a/MAFH2/TermBox.py b/MAFH2/TermBox.py index 9a3e6e9..907a951 100644 --- a/MAFH2/TermBox.py +++ b/MAFH2/TermBox.py @@ -1,5 +1,7 @@ import pygame from fortuneengine.GameEngineElement import GameEngineElement +from fortuneengine.DrawableFontObject import DrawableFontObject +from fortuneengine.DrawableObject import DrawableObject class TermBox(GameEngineElement): def __init__(self, x,y,width,height,lines): GameEngineElement.__init__(self, has_draw=True, has_event=False) @@ -7,25 +9,28 @@ class TermBox(GameEngineElement): self.max_lines = lines self.x = x self.y = y - self.width = width - self.height = height + surf = pygame.Surface((int(width),int(height))) + surf.fill([0,0,0]) + self.box = DrawableObject([surf],"") + self.box.setPosition(int(x),int(y)) self.font = pygame.font.Font(None, 20) self.__lines = [] - + for i in range(lines): + self.__lines.append(DrawableFontObject('', self.font)) + self.game_engine.get_scene().addObject(self.box) + self.game_engine.get_scene().addObjects(self.__lines) self.add_to_engine() def add_line(self, line): - self.__lines.append( line ) - if len( self.__lines ) > self.max_lines: - self.__lines.pop(0) + for i in range(0, self.max_lines, 1): + print i + if i == self.max_lines-1: + self.__lines[i].changeText(line, [255,255,255]) + else: + self.__lines[i].changeText(self.__lines[i+1].getText(), [255,255,255]) def draw(self,screen,time_delta): - dirtyList=[] #added Jul 20 - pygame.draw.rect(screen, [0, 0, 0], (self.x, self.y, self.width, self.height)) i=0 for line in self.__lines: - ren = self.font.render(line, 1, [255, 255, 255]) -# screen.blit(ren, (self.x, self.y + i*self.font.get_height())) - dirtyList.append(ren.get_rect().move( (self.x, self.y + i*self.font.get_height()) )) #added Jul 20 + line.setPosition(int(self.x), int(self.y + i*self.font.get_height())) i+=1 - return dirtyList #added Jul 20 |