diff options
author | jlew <jlew.blackout@gmail.com> | 2010-08-05 02:27:54 (GMT) |
---|---|---|
committer | jlew <jlew.blackout@gmail.com> | 2010-08-05 02:34:17 (GMT) |
commit | a40c23156be43a23df3f93eb0355cd4f21763233 (patch) | |
tree | 5a852419761143ceeada401867825c534eeb31d7 /MAFH2/TermBox.py | |
parent | 4e706cac2b99b7eb4b98bd55d5a28da728d4cf39 (diff) | |
parent | 50df09bbfa69fe00b16ea8ec9ceabadba5ce7d08 (diff) |
Merge branch 'animationrework'
Conflicts:
MAFH2/BattleEngine.py
Diffstat (limited to 'MAFH2/TermBox.py')
-rw-r--r-- | MAFH2/TermBox.py | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/MAFH2/TermBox.py b/MAFH2/TermBox.py index a273bb5..bb6660b 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,22 +9,27 @@ class TermBox(GameEngineElement): self.max_lines = lines self.x = x self.y = y - self.width = width - self.height = height - self.font = pygame.font.Font(None, 20) + 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, 28) 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): + 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): - 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())) + line.setPosition(int(self.x), int(self.y + i*self.font.get_height())) i+=1 |