From b3f23daf8d90c9169c3cffaf6175b39c4d90c50d Mon Sep 17 00:00:00 2001 From: slm Date: Thu, 29 Jul 2010 14:37:06 +0000 Subject: Merge branch 'animationrework' of ssh://jtmengel@git.fedorahosted.org/git/fortune_hunter into animationrework Conflicts: devtools/CompleteTestKit/DrawableObject.py I'm trying to commit changes made to the DrawableObject file that would outline future edits. --- (limited to 'devtools/CompleteTestKit') diff --git a/devtools/CompleteTestKit/DrawableFontObject.py b/devtools/CompleteTestKit/DrawableFontObject.py new file mode 100644 index 0000000..f06e514 --- /dev/null +++ b/devtools/CompleteTestKit/DrawableFontObject.py @@ -0,0 +1,16 @@ +import pygame +from DrawableObject import DrawableObject + +class DrawableFontObject(DrawableObject, pygame.sprite.Sprite): + + def __init__(self,text,font,fps = 10, x = 0, y = 0, xVelocity = 0, yVelocity = 0): + + self.font = font + self.textImage = font.render(text, 1, (255,255,255)) + #self._image = self.textImage + DrawableObject.__init__(self, [self.textImage], '', fps, x, y, xVelocity, yVelocity) + + def changeText(self, newText): + + self._images[0] = self.font.render(newText, True, (111,22,45)) + self.image = self._images[0] diff --git a/devtools/CompleteTestKit/DrawableObject.py b/devtools/CompleteTestKit/DrawableObject.py index 5fd9f20..796c1c9 100644 --- a/devtools/CompleteTestKit/DrawableObject.py +++ b/devtools/CompleteTestKit/DrawableObject.py @@ -18,6 +18,7 @@ class DrawableObject(pygame.sprite.Sprite): #self._images = images self._images = [] +<<<<<<< HEAD:devtools/CompleteTestKit/DrawableObject.py self._origImages = [] # @@ -27,6 +28,13 @@ class DrawableObject(pygame.sprite.Sprite): self._images.append(images[i].convert()) self._origImages.append(images[i].convert()) +======= + self._origImages = [] + while cnt < len(images): + self._images.append(images[cnt].convert_alpha()) + self._origImages.append(images[cnt].convert_alpha()) + cnt += 1 +>>>>>>> 8832b7c67d9c73d371538c2ba7aae7e0abddb090:devtools/CompleteTestKit/DrawableObject.py self._start = pygame.time.get_ticks() self.image = self._images[0] # diff --git a/devtools/CompleteTestKit/FontDirtyTest.py b/devtools/CompleteTestKit/FontDirtyTest.py new file mode 100644 index 0000000..4a37bfa --- /dev/null +++ b/devtools/CompleteTestKit/FontDirtyTest.py @@ -0,0 +1,64 @@ +#! /usr/bin/env python +import pygame +from pygame.locals import * +from time import time +from Scene import Scene +from DrawableObject import DrawableObject +from DrawableFontObject import DrawableFontObject +pygame.init() + +FRAME=500 +screenWidth = 600 +screenHeight = 400 +numImages = 1 +maxTrial = 5 # multiple trials, but hard coded in this test +dirtyList=[] + +print "width,height", +print screenWidth, +print ",", +print screenHeight + +screen = pygame.display.set_mode( [int(screenWidth), + int(screenHeight)] ) #Screen Set 600x400 +pygame.display.set_caption("Sprite Speed Test Window") +GREEN = 0, 192, 0 # green +background = pygame.image.load("Room.gif") +screen.blit(background,[0,0]) +pygame.display.flip() +start = time() + +for aTrial in range(maxTrial): + start = time() + + font = pygame.font.SysFont("cmr10", 100) + d = DrawableFontObject("hello world", font) + d.goToAnim("anim1") + + + group1=Scene(d) + groups=[group1] + print (time()-start) , + print " -- Time to load" + + + clock = pygame.time.Clock() + clock.tick() + start = time() + for frame in range(FRAME): + dirtyList=[] + d.changeText(str(frame)) + for image in range(numImages): + #move / collision detection + groups[image].update(clock.get_time()) + clock.tick() + #individually blit each image group - add to list for update + dirtyList.extend(groups[image].draw(screen)) + + #draw the images flip/update + pygame.display.update(dirtyList) + for image in range(numImages): + groups[image].clear(screen, background) + + #print 1/((time()-start)/FRAME) + pygame.display.flip() diff --git a/devtools/CompleteTestKit/animInfo.txt b/devtools/CompleteTestKit/animInfo.txt new file mode 100644 index 0000000..8af5aef --- /dev/null +++ b/devtools/CompleteTestKit/animInfo.txt @@ -0,0 +1 @@ +anim1,0,8 diff --git a/devtools/CompleteTestKit/boxes.py b/devtools/CompleteTestKit/boxes.py new file mode 100644 index 0000000..56b3623 --- /dev/null +++ b/devtools/CompleteTestKit/boxes.py @@ -0,0 +1,35 @@ +import pygame + +class BouncingBox(pygame.sprite.Sprite): + def __init__(self, imagesList, initial_position): + pygame.sprite.Sprite.__init__(self) + self.images = imagesList + self.listLen = len(imagesList) + self.listPos = 0 + self.image = imagesList[self.listPos] + self.rect = self.image.get_rect() + self.rect.topleft = initial_position + self.going_down = True # Start going downwards + self.going_right = True # Start going right + + def update(self, right, bottom): + # If we're at the top or bottom of the screen, switch directions. + if self.rect.bottom >= bottom: self.going_down = False + elif self.rect.top <= 0: self.going_down = True + # If we're at the right or left of the screen, switch directions. + if self.rect.right >= right: self.going_right = False + elif self.rect.left <= 0: self.going_right = True + + # Move our position up or down by 2 pixels + if self.going_down: self.rect.top += 2 + else: self.rect.top -= 2 + # Move our position left or right by 2 pixels + if self.going_right: self.rect.right += 2 + else: self.rect.right -= 2 + + if self.listPos < self.listLen - 1: + self.listPos += 1 + else: + self.listPos = 0 + + self.image = self.images[self.listPos] -- cgit v0.9.1