From da5c5ca0ff40ef24cfcd7d44fa833d918effa7b4 Mon Sep 17 00:00:00 2001 From: davesilver Date: Thu, 05 Aug 2010 01:34:13 +0000 Subject: Merge branch 'animationrework' of git+ssh://git.fedorahosted.org/git/fortune_hunter into animationrework --- diff --git a/MAFH2/MafhActivity.py b/MAFH2/MafhActivity.py index c148985..584d83d 100755 --- a/MAFH2/MafhActivity.py +++ b/MAFH2/MafhActivity.py @@ -7,7 +7,7 @@ from Comic import Comic from Profile import Profile from MafhGameManager import MafhGameManager -ge = GameEngine(width=1200, height=900, always_draw=True) +ge = GameEngine(width=1200, height=900, always_draw=True, fps_cap=15) def start_game(): ge.add_object('manager', MafhGameManager() ) 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 diff --git a/MAFH2/fortuneengine/DrawableFontObject.py b/MAFH2/fortuneengine/DrawableFontObject.py index 038d791..92f641f 100644 --- a/MAFH2/fortuneengine/DrawableFontObject.py +++ b/MAFH2/fortuneengine/DrawableFontObject.py @@ -7,10 +7,13 @@ class DrawableFontObject(DrawableObject, pygame.sprite.Sprite): self.font = font self.textImage = font.render(text, 1, (255,255,255)) - #self._image = self.textImage + self.text = text DrawableObject.__init__(self, [self.textImage], '') def changeText(self, newText, color=(0,0,0)): - - self._images[0] = self.font.render(newText, True, color) + self.text = newText + self._images[0] = self.font.render(str(newText), True, color) self.image = self._images[0] + + def getText(self): + return str(self.text) -- cgit v0.9.1