Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/devtools
diff options
context:
space:
mode:
authorslm <jtmengel@gmail.com>2010-07-29 14:37:06 (GMT)
committer slm <jtmengel@gmail.com>2010-07-29 14:37:06 (GMT)
commitb3f23daf8d90c9169c3cffaf6175b39c4d90c50d (patch)
tree659464db932eaeb686dc7617210970d873affd4c /devtools
parentf552aa367aa18e1ba75d92cabef884fd2503ffcc (diff)
parent8832b7c67d9c73d371538c2ba7aae7e0abddb090 (diff)
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.
Diffstat (limited to 'devtools')
-rw-r--r--devtools/CompleteTestKit/DrawableFontObject.py16
-rw-r--r--devtools/CompleteTestKit/DrawableObject.py8
-rw-r--r--devtools/CompleteTestKit/FontDirtyTest.py64
-rw-r--r--devtools/CompleteTestKit/animInfo.txt1
-rw-r--r--devtools/CompleteTestKit/boxes.py35
5 files changed, 124 insertions, 0 deletions
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]