diff options
author | slm <jtmengel@gmail.com> | 2010-08-05 18:21:45 (GMT) |
---|---|---|
committer | slm <jtmengel@gmail.com> | 2010-08-05 18:21:45 (GMT) |
commit | 725c625e6f129e7972177483b59295e9e3d8b0a9 (patch) | |
tree | 0e7c72bb56b5695acc7faeac18b5af9ca64f0dec /anim/DrawableObjectTests | |
parent | 04334feb88aa124afca62dec8f4f742539c90e3e (diff) |
Added files which I had previously forgotten to add
Diffstat (limited to 'anim/DrawableObjectTests')
123 files changed, 866 insertions, 0 deletions
diff --git a/anim/DrawableObjectTests/AnimatedSprite.py b/anim/DrawableObjectTests/AnimatedSprite.py new file mode 100755 index 0000000..4f5c8ba --- /dev/null +++ b/anim/DrawableObjectTests/AnimatedSprite.py @@ -0,0 +1,140 @@ +import pygame + +class Spritesheet: + """ + Class from http://www.scriptedfun.com/transcript-2-using-sprite-sheets-and-drawing-the-background/ + + """ + def __init__(self, filename): + self.sheet = pygame.image.load(filename)#.convert() + + def imgat(self, rect): + rect = pygame.Rect(rect) + image = pygame.Surface(rect.size)#.convert() + image.blit(self.sheet, (0, 0), rect) + return image + + def imgsat(self, rects): + imgs = [] + for rect in rects: + imgs.append(self.imgat(rect)) + return imgs + + def img_extract( self, cols, rows, width, height ): + rect_list = [] + for y in range(0, rows): + for x in range(0, cols): + rect_list.append( (width*x, height*y, width, height) ) + return self.imgsat( rect_list) + + +class AnimatedSprite(pygame.sprite.Sprite): + """ + http://shinylittlething.com/2009/07/21/pygame-and-animated-sprites/ + """ + + def __init__(self,images,textfileName,fps = 10): + pygame.sprite.Sprite.__init__(self) + self._images = images + + # Track the time we started, and the time between updates. + # Then we can figure out when we have to switch the image. + self._start = pygame.time.get_ticks() + self._delay = 1000 / fps + self._last_update = 0 + self._frame = 0 + self.animations = {} + + if textfileName != '': + f = open(textfileName, 'r') + currentLine = f.readline() + while currentLine != '': + animValues = currentLine.split(",") + #This is a list called animations that at each position contains a list of two values. the first value is the start position + #of the given animation and the second is the end position of the given animation + self.animations[animValues[0]] = [int(animValues[1]), int(animValues[2])] + currentLine = f.readline() + + # Call update to set our first image. + #self.update(pygame.time.get_ticks()) + + def addImages(self, images): + + self._images.extend(images) + + def update(self, t): + # This method updates the animation in a situation where there is only one animation contained within the object. + + #calculates the amount of time that has passed since the last update + timePassed = t - self._last_update + #checks if enough time has passed that it would need to update the frame of the animation + if timePassed > self._delay: + #since enough time has passed, it will determine how many times the frame was supposed to change since the last update + frameChanges = int(timePassed/self._delay) + #goes to the frame that it should be at right now and skips any frames that would have already been over and done with + self._frame += frameChanges + #checks if the current frame is past the final frame and continues to check over and over until it is not + while self._frame >= len(self._images): + #since we are past the final frame it is now figuring out how many frames past the final frame we have actually gone + framesPast = self._frame - len(self._images) + #sets the current frame to the frame it should be at + self._frame = framesPast - 1 + #sets the current image to the image associated with the current frame + self.image = self._images[self._frame] + #sets the last update value to the current time so that at the next update the time change is accurate + self._last_update = t + + def updateAnimation(self, t, animName): + # This method updates the animation based on the start and end frame of the specific animation you are on. + #This means that if your object contains multiple animations, you can use this method to reference the exact + #animation that you are using. + + #calculates the amount of time that has passed since the last update + timePassed = t - self._last_update + #checks if enough time has passed that it would need to update the frame of the animation + if timePassed > self._delay: + #Checks to make sure that the current frame is actually set to a position within the animation + if self._frame < self.animations.get(animName)[0] or self._frame > self.animations.get(animName)[1]: + #corrects the position of the current frame + self._frame = self.animations.get(animName)[0] + #since enough time has passed, it will determine how many times the frame was supposed to change since the last update + frameChanges = int(timePassed/self._delay) + #goes to the frame that it should be at right now and skips any frames that would have already been over and done with + self._frame += frameChanges + #checks if the current frame is past the final frame of the current animation and continues to check over and over + #until it is not + while self._frame >= self.animations.get(animName)[1]: + #Determines how many frames past the final frame of the animation it is + framesPast = self._frame - self.animations.get(animName)[1] + #Sets the current frame to the frame it should be at + self._frame = framesPast - 1 + self.animations.get(animName)[0] + #sets the current image to the image associated with the current frame + self.image = self._images[self._frame] + #sets the last update value to the current time so that at the next update the time change is accurate + self._last_update = t + + def nextFrame(self): + # This definition is designed to simply move to the next frame. + # All of the other definitions only move to the nex frame if + # enough time has passed based on the framerate. With this + # definition I can go right to the next frame allowing me to + # see how fast a framerate I can get to and not be limited by + # what I define. + + self._frame += 1 + if self._frame >= len(self._images): + framesPast = self._frame - len(self._images) + self._frame = framesPast + self.image = self._images[self._frame] + + def nextAnimFrame(self, animName): + # This definition is designed to simply move to the next frame of the specified animation. + if self._frame < self.animations[animName][0]: + self._frame = self.animations[animName][0] + + self._frame += 1 + if self._frame > self.animations[animName][1]: + framesPast = self._frame - self.animations[animName][1] + self._frame = framesPast - 1 + self.animations[animName][0] + self.image = self._images[self._frame] + diff --git a/anim/DrawableObjectTests/Buttons.psd b/anim/DrawableObjectTests/Buttons.psd Binary files differnew file mode 100755 index 0000000..a1571e2 --- /dev/null +++ b/anim/DrawableObjectTests/Buttons.psd diff --git a/anim/DrawableObjectTests/DrawableObject.py b/anim/DrawableObjectTests/DrawableObject.py new file mode 100755 index 0000000..07a5613 --- /dev/null +++ b/anim/DrawableObjectTests/DrawableObject.py @@ -0,0 +1,156 @@ +import pygame
+
+class DrawableObject(pygame.sprite.Sprite):
+
+ def __init__(self,images,textfileName,fps = 10, x = 0, y = 0, xVelocity = 0, yVelocity = 0):
+ pygame.sprite.Sprite.__init__(self)
+ cnt = 0
+
+ #self._originals = images
+ #self._images = images
+ self._images = []
+ self._origImages = []
+ while cnt < len(images):
+ self._images.append(images[cnt][0].convert())
+ self._origImages.append(images[cnt][0].convert())
+ cnt += 1
+ self._start = pygame.time.get_ticks()
+ self.image = self._images[0]
+ self._delay = 1000 / fps
+ self._last_update = 0
+ self._frame = 0
+ self.animations = {}
+ self._current_anim = ""
+ self.xPos = x
+ self.yPos = y
+ self.xSpeed = xVelocity
+ self.ySpeed = yVelocity
+ self.myAngle = 0
+ self.xSize = 40
+ self.ySize = 40
+
+ if textfileName != '':
+
+ f = open(textfileName, 'r')
+ currentLine = f.readline()
+ while currentLine != '':
+
+ animValues = currentLine.split(",")
+ self.animations[animValues[0]] = [int(animValues[1]), int(animValues[2])]
+ currentLine = f.readline()
+
+
+ def addImages(self, images):
+
+ self._images.extend(images)
+ #self._originals.extend(images)
+
+ def goToAnim(self, animName):
+
+ cnt = 0
+ while cnt < len(animations):
+
+ if animations[cnt] == animName:
+ self._current_anim = animName
+ self._frame = self.animations[animName][0]
+ self.image = self._images[self._frame]
+ cnt = len(animations)
+ cnt += 1
+
+ def move(self):
+
+ self.xPos += self.xSpeed
+ self.yPos += self.ySpeed
+
+ self.image[0].get_rect().move(self.xPos,self.yPos)
+
+ def nudge(self, xNudge = 0, yNudge = 0):
+
+ self.xPos += xNudge
+ self.yPos += yNudge
+
+ self.image[0].get_rect().move(self.xPos,self.yPos)
+
+ def scale(self, newXSize = None, newYSize = None):
+
+ if newXSize != None: self.xSize = newXSize
+ if newYSize != None: self.ySize = newYSize
+
+ cnt = 0
+ while cnt < len(self._images):
+
+ self._origImages[cnt] = pygame.transform.scale(self._origImages[cnt], (self.xSize, self.ySize))
+ self._images[cnt] = self._origImages[cnt]
+ cnt += 1
+
+ def getXSize(self):
+
+ return self.xSize
+
+ def getYSize(self):
+
+ return self.ySize
+
+ def rotate(self,angle):
+
+ cnt = 0
+
+ self.myAngle += angle
+ while cnt < len(self._images):
+
+ self._images[cnt] = pygame.transform.rotate(self._origImages[cnt], self.myAngle)
+ cnt += 1
+
+ def getRotation(self):
+
+ return self.myAngle
+
+ def setPosition(self, x = None, y = None):
+
+ if x != None and x >= 0: self.xPos = x
+ if y != None and y >= 0: self.yPos = y
+
+ def getXPos(self):
+
+ return self.xPos
+
+ def getYPos(self):
+
+ return self.yPos
+
+ def setSpeed(self, xVelocity = None, yVelocity = None):
+
+ if xVelocity != None: self.xSpeed = xVelocity
+ if yVelocity != None: self.ySpeed = yVelocity
+
+ def getXSpeed(self):
+
+ return self.xSpeed
+
+ def getYSpeed(self):
+
+ return self.ySpeed
+
+ def calcColorKey(self):
+
+ myColorKey = images[0][0].get_at((0,0))
+ setColorKey(myColorKey)
+
+ def setColorKey(self, aColor):
+
+ cnt = 0
+ while cnt < len(self._images):
+ self._images[cnt][0].set_colorkey(aColor)
+ cnt += 1
+
+ def update(self, t):
+ pass
+
+ def updateCurrnetAnimation(self, t):
+ pass
+
+ def nextFrame(self):
+ pass
+
+ def nextCurrentAnimFrame(self):
+ pass
diff --git a/anim/DrawableObjectTests/DrawableObjectMoveScaleTest.py b/anim/DrawableObjectTests/DrawableObjectMoveScaleTest.py new file mode 100755 index 0000000..c1bff71 --- /dev/null +++ b/anim/DrawableObjectTests/DrawableObjectMoveScaleTest.py @@ -0,0 +1,102 @@ +#! /usr/bin/env python +from Spritesheet import Spritesheet +from DynamicDrawableObject import DynamicDrawableObject +from Scene import Scene +import pygame +import time +pygame.init() + +img={} +ft="" #filetype +r=0 #frame refreshes +i=1 #cycles images +SIZE = WIDTH, HEIGHT = 600,400 #screen sizes +t=0 #trial number + +BACKGROUNDR=152 +BACKGROUNDG=0 +BACKGROUNDB=152 + +screen = pygame.display.set_mode(SIZE) #Screen Set 600x400 + +screen.fill((BACKGROUNDR, BACKGROUNDG, BACKGROUNDB)) + +def blitAndFlip(): + screen.fill((BACKGROUNDR, BACKGROUNDG, BACKGROUNDB)) + cnt = 0 + while cnt < myScene.getListSize(): + + screen.blit(myScene.getObject(cnt).image, [myScene.getObject(cnt).getXPos(),myScene.getObject(cnt).getYPos()]) + cnt += 1 + + + pygame.display.flip() + +switch1 = [ + [pygame.image.load("%sa1/1%s"%("IndividualFrames/bmp16/",".bmp"))], + [pygame.image.load("%sa1/2%s"%("IndividualFrames/bmp16/",".bmp"))], + [pygame.image.load("%sa1/3%s"%("IndividualFrames/bmp16/",".bmp"))], + [pygame.image.load("%sa1/4%s"%("IndividualFrames/bmp16/",".bmp"))], + [pygame.image.load("%sa1/5%s"%("IndividualFrames/bmp16/",".bmp"))], + [pygame.image.load("%sa1/6%s"%("IndividualFrames/bmp16/",".bmp"))], + [pygame.image.load("%sa1/7%s"%("IndividualFrames/bmp16/",".bmp"))], + [pygame.image.load("%sa1/8%s"%("IndividualFrames/bmp16/",".bmp"))], + [pygame.image.load("%sa1/9%s"%("IndividualFrames/bmp16/",".bmp"))] +] + +switch3 = [ + [pygame.image.load("%sa1/1%s"%("IndividualFrames/bmp16/",".bmp"))], + [pygame.image.load("%sa1/2%s"%("IndividualFrames/bmp16/",".bmp"))], + [pygame.image.load("%sa1/3%s"%("IndividualFrames/bmp16/",".bmp"))], + [pygame.image.load("%sa1/4%s"%("IndividualFrames/bmp16/",".bmp"))], + [pygame.image.load("%sa1/5%s"%("IndividualFrames/bmp16/",".bmp"))], + [pygame.image.load("%sa1/6%s"%("IndividualFrames/bmp16/",".bmp"))], + [pygame.image.load("%sa1/7%s"%("IndividualFrames/bmp16/",".bmp"))], + [pygame.image.load("%sa1/8%s"%("IndividualFrames/bmp16/",".bmp"))], + [pygame.image.load("%sa1/9%s"%("IndividualFrames/bmp16/",".bmp"))] +] + +switch2 = [ + [pygame.image.load("%sa2/1%s"%("IndividualFrames/bmp16/",".bmp"))], + [pygame.image.load("%sa2/2%s"%("IndividualFrames/bmp16/",".bmp"))], + [pygame.image.load("%sa2/3%s"%("IndividualFrames/bmp16/",".bmp"))], + [pygame.image.load("%sa2/4%s"%("IndividualFrames/bmp16/",".bmp"))], + [pygame.image.load("%sa2/5%s"%("IndividualFrames/bmp16/",".bmp"))], + [pygame.image.load("%sa2/6%s"%("IndividualFrames/bmp16/",".bmp"))], + [pygame.image.load("%sa2/7%s"%("IndividualFrames/bmp16/",".bmp"))], + [pygame.image.load("%sa2/8%s"%("IndividualFrames/bmp16/",".bmp"))], + [pygame.image.load("%sa2/9%s"%("IndividualFrames/bmp16/",".bmp"))] +] + +dynamicObj = DynamicDrawableObject(switch1,'',1,39,3, 2, 2) +secondDynamicObj = DynamicDrawableObject(switch1,'',1,39,100, 3, 3) +staticObj = DynamicDrawableObject(switch2,'',1,40,43, 4, 4) + +initialList = [dynamicObj, secondDynamicObj] +secondaryList = [staticObj] + +myScene = Scene(initialList) +myScene.addObjects(secondaryList) + +myScene.nextFrame() +blitAndFlip() +time.sleep(2) +myScene.getObject(1).scale(100, 100) +myScene.getObject(1).nextFrame() +myScene.getObject(0).nextFrame() +myScene.getObject(2).nextFrame() +blitAndFlip() +time.sleep(2) +myScene.getObject(1).rotate(45) +myScene.getObject(1).nextFrame() +myScene.getObject(0).nextFrame() +myScene.getObject(2).nextFrame() +blitAndFlip() +time.sleep(2) +myScene.getObject(1).rotate(-45) +myScene.getObject(1).nextFrame() +myScene.getObject(0).nextFrame() +myScene.getObject(2).nextFrame() +blitAndFlip() +time.sleep(2) + diff --git a/anim/DrawableObjectTests/DynamicDrawableObject.py b/anim/DrawableObjectTests/DynamicDrawableObject.py new file mode 100755 index 0000000..3b3722d --- /dev/null +++ b/anim/DrawableObjectTests/DynamicDrawableObject.py @@ -0,0 +1,89 @@ +import pygame
+from DrawableObject import DrawableObject
+
+class DynamicDrawableObject(DrawableObject, pygame.sprite.Sprite):
+
+ def __init__(self,images,textfileName,fps = 10, x = 0, y = 0, xVelocity = 0, yVelocity = 0):
+
+ DrawableObject.__init__(self, images, textfileName, fps, x, y, xVelocity, yVelocity)
+
+ def addImages(self, images):
+
+ self._images.extend(images)
+
+ def update(self, t):
+
+ timePassed = t + self._last_update
+ if timePassed > self._delay:
+
+ self._frame += timePassed/self._delay
+ while self._frame >= len(self._images):
+
+ framesPast = self._frame - len(self._images)
+ self._frame = framesPast - 1
+
+ self.image = self._images[self._frame]
+ self._last_update = timePassed%self._delay
+ self._last_update = timePassed
+
+ def updateCurrentAnimation(self, t):
+
+ cnt = 0
+ while cnt < len(animations):
+
+ if animations[cnt] == self._current_anim:
+
+ timePassed = t + self._last_update
+ if timePassed > self._delay:
+
+ if self._frame < self.animations.get(self._current_anim)[0] or self._frame > self.animations.get(self._current_anim)[1]: #checking if I am in the animation and putting me there if I am not
+
+ self._frame = self.animations.get(self._current_anim)[0]
+
+ self._frame += timePassed/self._delay
+ while self._frame >= self.animations.get(self._current_anim)[1]:
+
+ framesPast = self._frame - self.animations.get(self._current_anim)[1]
+ self._frame = framesPast - 1 + self.animations.get(self._current_anim)[0]
+
+ self.image = self._images[self._frame]
+ self._last_update = timePassed%self._delay
+ self._last_update = timePassed
+
+ cnt = len(animations)
+
+ cnt += 1
+
+ def nextFrame(self):
+
+ self._frame += 1
+ if self._frame >= len(self._images):
+
+ framesPast = self._frame - len(self._images)
+ self._frame = framesPast
+
+ self.image = self._images[self._frame]
+
+ def nextCurrentAnimFrame(self):
+
+ cnt = 0
+ while cnt < len(animations):
+
+ if animations[cnt] == self._current_anim:
+
+ if self._frame < self.animations[self._current_anim][0] or self._frame > self.animations[self._current_anim][1]:
+
+ self._frame = self.animations[self._current_anim][0]
+ else:
+ self._frame += 1
+
+ if self._frame > self.animations[self._current_anim][1]:
+
+ framesPast = self._frame - self.animations[self._current_anim][1]
+ self._frame = framesPast - 1 + self.animations[self._current_anim][0]
+
+ self.image = self._images[self._frame]
+
+ cnt = len(anmiations)
+
+ cnt += 1
diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp16/a1/1.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp16/a1/1.bmp Binary files differnew file mode 100755 index 0000000..57630e3 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp16/a1/1.bmp diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp16/a1/2.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp16/a1/2.bmp Binary files differnew file mode 100755 index 0000000..90af77a --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp16/a1/2.bmp diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp16/a1/3.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp16/a1/3.bmp Binary files differnew file mode 100755 index 0000000..1751a4a --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp16/a1/3.bmp diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp16/a1/4.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp16/a1/4.bmp Binary files differnew file mode 100755 index 0000000..1f292d1 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp16/a1/4.bmp diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp16/a1/5.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp16/a1/5.bmp Binary files differnew file mode 100755 index 0000000..fd8cc0e --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp16/a1/5.bmp diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp16/a1/6.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp16/a1/6.bmp Binary files differnew file mode 100755 index 0000000..df3a2eb --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp16/a1/6.bmp diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp16/a1/7.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp16/a1/7.bmp Binary files differnew file mode 100755 index 0000000..51b0052 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp16/a1/7.bmp diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp16/a1/8.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp16/a1/8.bmp Binary files differnew file mode 100755 index 0000000..9302c64 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp16/a1/8.bmp diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp16/a1/9.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp16/a1/9.bmp Binary files differnew file mode 100755 index 0000000..f5c6191 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp16/a1/9.bmp diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp16/a2/1.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp16/a2/1.bmp Binary files differnew file mode 100755 index 0000000..4def064 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp16/a2/1.bmp diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp16/a2/2.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp16/a2/2.bmp Binary files differnew file mode 100755 index 0000000..3750af4 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp16/a2/2.bmp diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp16/a2/3.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp16/a2/3.bmp Binary files differnew file mode 100755 index 0000000..636c6f3 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp16/a2/3.bmp diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp16/a2/4.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp16/a2/4.bmp Binary files differnew file mode 100755 index 0000000..646b407 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp16/a2/4.bmp diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp16/a2/5.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp16/a2/5.bmp Binary files differnew file mode 100755 index 0000000..11a9bf5 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp16/a2/5.bmp diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp16/a2/6.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp16/a2/6.bmp Binary files differnew file mode 100755 index 0000000..ca1ba7b --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp16/a2/6.bmp diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp16/a2/7.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp16/a2/7.bmp Binary files differnew file mode 100755 index 0000000..9375c15 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp16/a2/7.bmp diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp16/a2/8.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp16/a2/8.bmp Binary files differnew file mode 100755 index 0000000..53b66f9 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp16/a2/8.bmp diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp16/a2/9.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp16/a2/9.bmp Binary files differnew file mode 100755 index 0000000..088558c --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp16/a2/9.bmp diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp24/a1/1.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp24/a1/1.bmp Binary files differnew file mode 100755 index 0000000..e910cec --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp24/a1/1.bmp diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp24/a1/2.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp24/a1/2.bmp Binary files differnew file mode 100755 index 0000000..0545f38 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp24/a1/2.bmp diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp24/a1/3.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp24/a1/3.bmp Binary files differnew file mode 100755 index 0000000..a154b29 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp24/a1/3.bmp diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp24/a1/4.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp24/a1/4.bmp Binary files differnew file mode 100755 index 0000000..4ab21f9 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp24/a1/4.bmp diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp24/a1/5.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp24/a1/5.bmp Binary files differnew file mode 100755 index 0000000..0a55d39 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp24/a1/5.bmp diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp24/a1/6.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp24/a1/6.bmp Binary files differnew file mode 100755 index 0000000..ad3f1b1 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp24/a1/6.bmp diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp24/a1/7.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp24/a1/7.bmp Binary files differnew file mode 100755 index 0000000..915ab5b --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp24/a1/7.bmp diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp24/a1/8.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp24/a1/8.bmp Binary files differnew file mode 100755 index 0000000..b36287d --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp24/a1/8.bmp diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp24/a1/9.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp24/a1/9.bmp Binary files differnew file mode 100755 index 0000000..2cab5a4 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp24/a1/9.bmp diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp24/a2/1.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp24/a2/1.bmp Binary files differnew file mode 100755 index 0000000..1b41dff --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp24/a2/1.bmp diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp24/a2/2.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp24/a2/2.bmp Binary files differnew file mode 100755 index 0000000..71cca69 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp24/a2/2.bmp diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp24/a2/3.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp24/a2/3.bmp Binary files differnew file mode 100755 index 0000000..a374206 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp24/a2/3.bmp diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp24/a2/4.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp24/a2/4.bmp Binary files differnew file mode 100755 index 0000000..37c4304 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp24/a2/4.bmp diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp24/a2/5.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp24/a2/5.bmp Binary files differnew file mode 100755 index 0000000..51f1acb --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp24/a2/5.bmp diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp24/a2/6.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp24/a2/6.bmp Binary files differnew file mode 100755 index 0000000..483043c --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp24/a2/6.bmp diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp24/a2/7.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp24/a2/7.bmp Binary files differnew file mode 100755 index 0000000..d99e779 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp24/a2/7.bmp diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp24/a2/8.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp24/a2/8.bmp Binary files differnew file mode 100755 index 0000000..223b87e --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp24/a2/8.bmp diff --git a/anim/DrawableObjectTests/IndividualFrames/bmp24/a2/9.bmp b/anim/DrawableObjectTests/IndividualFrames/bmp24/a2/9.bmp Binary files differnew file mode 100755 index 0000000..088a0f5 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/bmp24/a2/9.bmp diff --git a/anim/DrawableObjectTests/IndividualFrames/gif/a1/1.gif b/anim/DrawableObjectTests/IndividualFrames/gif/a1/1.gif Binary files differnew file mode 100755 index 0000000..4a89216 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gif/a1/1.gif diff --git a/anim/DrawableObjectTests/IndividualFrames/gif/a1/2.gif b/anim/DrawableObjectTests/IndividualFrames/gif/a1/2.gif Binary files differnew file mode 100755 index 0000000..b5019d8 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gif/a1/2.gif diff --git a/anim/DrawableObjectTests/IndividualFrames/gif/a1/3.gif b/anim/DrawableObjectTests/IndividualFrames/gif/a1/3.gif Binary files differnew file mode 100755 index 0000000..a87ddc6 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gif/a1/3.gif diff --git a/anim/DrawableObjectTests/IndividualFrames/gif/a1/4.gif b/anim/DrawableObjectTests/IndividualFrames/gif/a1/4.gif Binary files differnew file mode 100755 index 0000000..2a398e6 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gif/a1/4.gif diff --git a/anim/DrawableObjectTests/IndividualFrames/gif/a1/5.gif b/anim/DrawableObjectTests/IndividualFrames/gif/a1/5.gif Binary files differnew file mode 100755 index 0000000..93e5b8d --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gif/a1/5.gif diff --git a/anim/DrawableObjectTests/IndividualFrames/gif/a1/6.gif b/anim/DrawableObjectTests/IndividualFrames/gif/a1/6.gif Binary files differnew file mode 100755 index 0000000..0e73825 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gif/a1/6.gif diff --git a/anim/DrawableObjectTests/IndividualFrames/gif/a1/7.gif b/anim/DrawableObjectTests/IndividualFrames/gif/a1/7.gif Binary files differnew file mode 100755 index 0000000..061669a --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gif/a1/7.gif diff --git a/anim/DrawableObjectTests/IndividualFrames/gif/a1/8.gif b/anim/DrawableObjectTests/IndividualFrames/gif/a1/8.gif Binary files differnew file mode 100755 index 0000000..90dcfda --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gif/a1/8.gif diff --git a/anim/DrawableObjectTests/IndividualFrames/gif/a1/9.gif b/anim/DrawableObjectTests/IndividualFrames/gif/a1/9.gif Binary files differnew file mode 100755 index 0000000..aa194d9 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gif/a1/9.gif diff --git a/anim/DrawableObjectTests/IndividualFrames/gif/a2/1.gif b/anim/DrawableObjectTests/IndividualFrames/gif/a2/1.gif Binary files differnew file mode 100755 index 0000000..09134f4 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gif/a2/1.gif diff --git a/anim/DrawableObjectTests/IndividualFrames/gif/a2/2.gif b/anim/DrawableObjectTests/IndividualFrames/gif/a2/2.gif Binary files differnew file mode 100755 index 0000000..d9ebbc2 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gif/a2/2.gif diff --git a/anim/DrawableObjectTests/IndividualFrames/gif/a2/3.gif b/anim/DrawableObjectTests/IndividualFrames/gif/a2/3.gif Binary files differnew file mode 100755 index 0000000..de17bd4 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gif/a2/3.gif diff --git a/anim/DrawableObjectTests/IndividualFrames/gif/a2/4.gif b/anim/DrawableObjectTests/IndividualFrames/gif/a2/4.gif Binary files differnew file mode 100755 index 0000000..87450de --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gif/a2/4.gif diff --git a/anim/DrawableObjectTests/IndividualFrames/gif/a2/5.gif b/anim/DrawableObjectTests/IndividualFrames/gif/a2/5.gif Binary files differnew file mode 100755 index 0000000..f95b8d9 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gif/a2/5.gif diff --git a/anim/DrawableObjectTests/IndividualFrames/gif/a2/6.gif b/anim/DrawableObjectTests/IndividualFrames/gif/a2/6.gif Binary files differnew file mode 100755 index 0000000..3462272 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gif/a2/6.gif diff --git a/anim/DrawableObjectTests/IndividualFrames/gif/a2/7.gif b/anim/DrawableObjectTests/IndividualFrames/gif/a2/7.gif Binary files differnew file mode 100755 index 0000000..ac5f084 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gif/a2/7.gif diff --git a/anim/DrawableObjectTests/IndividualFrames/gif/a2/8.gif b/anim/DrawableObjectTests/IndividualFrames/gif/a2/8.gif Binary files differnew file mode 100755 index 0000000..d9d3989 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gif/a2/8.gif diff --git a/anim/DrawableObjectTests/IndividualFrames/gif/a2/9.gif b/anim/DrawableObjectTests/IndividualFrames/gif/a2/9.gif Binary files differnew file mode 100755 index 0000000..bcdd274 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gif/a2/9.gif diff --git a/anim/DrawableObjectTests/IndividualFrames/gift/a1/1.gif b/anim/DrawableObjectTests/IndividualFrames/gift/a1/1.gif Binary files differnew file mode 100755 index 0000000..2aad244 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gift/a1/1.gif diff --git a/anim/DrawableObjectTests/IndividualFrames/gift/a1/2.gif b/anim/DrawableObjectTests/IndividualFrames/gift/a1/2.gif Binary files differnew file mode 100755 index 0000000..ed22525 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gift/a1/2.gif diff --git a/anim/DrawableObjectTests/IndividualFrames/gift/a1/3.gif b/anim/DrawableObjectTests/IndividualFrames/gift/a1/3.gif Binary files differnew file mode 100755 index 0000000..246cd12 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gift/a1/3.gif diff --git a/anim/DrawableObjectTests/IndividualFrames/gift/a1/4.gif b/anim/DrawableObjectTests/IndividualFrames/gift/a1/4.gif Binary files differnew file mode 100755 index 0000000..722f240 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gift/a1/4.gif diff --git a/anim/DrawableObjectTests/IndividualFrames/gift/a1/5.gif b/anim/DrawableObjectTests/IndividualFrames/gift/a1/5.gif Binary files differnew file mode 100755 index 0000000..6a71348 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gift/a1/5.gif diff --git a/anim/DrawableObjectTests/IndividualFrames/gift/a1/6.gif b/anim/DrawableObjectTests/IndividualFrames/gift/a1/6.gif Binary files differnew file mode 100755 index 0000000..0dd2145 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gift/a1/6.gif diff --git a/anim/DrawableObjectTests/IndividualFrames/gift/a1/7.gif b/anim/DrawableObjectTests/IndividualFrames/gift/a1/7.gif Binary files differnew file mode 100755 index 0000000..1e9914b --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gift/a1/7.gif diff --git a/anim/DrawableObjectTests/IndividualFrames/gift/a1/8.gif b/anim/DrawableObjectTests/IndividualFrames/gift/a1/8.gif Binary files differnew file mode 100755 index 0000000..390124b --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gift/a1/8.gif diff --git a/anim/DrawableObjectTests/IndividualFrames/gift/a1/9.gif b/anim/DrawableObjectTests/IndividualFrames/gift/a1/9.gif Binary files differnew file mode 100755 index 0000000..61c8c3c --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gift/a1/9.gif diff --git a/anim/DrawableObjectTests/IndividualFrames/gift/a2/1.gif b/anim/DrawableObjectTests/IndividualFrames/gift/a2/1.gif Binary files differnew file mode 100755 index 0000000..a79f1e0 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gift/a2/1.gif diff --git a/anim/DrawableObjectTests/IndividualFrames/gift/a2/2.gif b/anim/DrawableObjectTests/IndividualFrames/gift/a2/2.gif Binary files differnew file mode 100755 index 0000000..b2579e3 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gift/a2/2.gif diff --git a/anim/DrawableObjectTests/IndividualFrames/gift/a2/3.gif b/anim/DrawableObjectTests/IndividualFrames/gift/a2/3.gif Binary files differnew file mode 100755 index 0000000..42f2c74 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gift/a2/3.gif diff --git a/anim/DrawableObjectTests/IndividualFrames/gift/a2/4.gif b/anim/DrawableObjectTests/IndividualFrames/gift/a2/4.gif Binary files differnew file mode 100755 index 0000000..61b944a --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gift/a2/4.gif diff --git a/anim/DrawableObjectTests/IndividualFrames/gift/a2/5.gif b/anim/DrawableObjectTests/IndividualFrames/gift/a2/5.gif Binary files differnew file mode 100755 index 0000000..865f4c7 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gift/a2/5.gif diff --git a/anim/DrawableObjectTests/IndividualFrames/gift/a2/6.gif b/anim/DrawableObjectTests/IndividualFrames/gift/a2/6.gif Binary files differnew file mode 100755 index 0000000..9fa7cf2 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gift/a2/6.gif diff --git a/anim/DrawableObjectTests/IndividualFrames/gift/a2/7.gif b/anim/DrawableObjectTests/IndividualFrames/gift/a2/7.gif Binary files differnew file mode 100755 index 0000000..d7627b2 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gift/a2/7.gif diff --git a/anim/DrawableObjectTests/IndividualFrames/gift/a2/8.gif b/anim/DrawableObjectTests/IndividualFrames/gift/a2/8.gif Binary files differnew file mode 100755 index 0000000..965acc1 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gift/a2/8.gif diff --git a/anim/DrawableObjectTests/IndividualFrames/gift/a2/9.gif b/anim/DrawableObjectTests/IndividualFrames/gift/a2/9.gif Binary files differnew file mode 100755 index 0000000..0509dad --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/gift/a2/9.gif diff --git a/anim/DrawableObjectTests/IndividualFrames/png/a1/1.png b/anim/DrawableObjectTests/IndividualFrames/png/a1/1.png Binary files differnew file mode 100755 index 0000000..663ca83 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/png/a1/1.png diff --git a/anim/DrawableObjectTests/IndividualFrames/png/a1/2.png b/anim/DrawableObjectTests/IndividualFrames/png/a1/2.png Binary files differnew file mode 100755 index 0000000..6f44ab5 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/png/a1/2.png diff --git a/anim/DrawableObjectTests/IndividualFrames/png/a1/3.png b/anim/DrawableObjectTests/IndividualFrames/png/a1/3.png Binary files differnew file mode 100755 index 0000000..c49ab7e --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/png/a1/3.png diff --git a/anim/DrawableObjectTests/IndividualFrames/png/a1/4.png b/anim/DrawableObjectTests/IndividualFrames/png/a1/4.png Binary files differnew file mode 100755 index 0000000..63eb7e2 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/png/a1/4.png diff --git a/anim/DrawableObjectTests/IndividualFrames/png/a1/5.png b/anim/DrawableObjectTests/IndividualFrames/png/a1/5.png Binary files differnew file mode 100755 index 0000000..2aaa600 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/png/a1/5.png diff --git a/anim/DrawableObjectTests/IndividualFrames/png/a1/6.png b/anim/DrawableObjectTests/IndividualFrames/png/a1/6.png Binary files differnew file mode 100755 index 0000000..8fa9737 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/png/a1/6.png diff --git a/anim/DrawableObjectTests/IndividualFrames/png/a1/7.png b/anim/DrawableObjectTests/IndividualFrames/png/a1/7.png Binary files differnew file mode 100755 index 0000000..1de0311 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/png/a1/7.png diff --git a/anim/DrawableObjectTests/IndividualFrames/png/a1/8.png b/anim/DrawableObjectTests/IndividualFrames/png/a1/8.png Binary files differnew file mode 100755 index 0000000..7d6332a --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/png/a1/8.png diff --git a/anim/DrawableObjectTests/IndividualFrames/png/a1/9.png b/anim/DrawableObjectTests/IndividualFrames/png/a1/9.png Binary files differnew file mode 100755 index 0000000..5a8b0ea --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/png/a1/9.png diff --git a/anim/DrawableObjectTests/IndividualFrames/png/a2/1.png b/anim/DrawableObjectTests/IndividualFrames/png/a2/1.png Binary files differnew file mode 100755 index 0000000..98b3d72 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/png/a2/1.png diff --git a/anim/DrawableObjectTests/IndividualFrames/png/a2/2.png b/anim/DrawableObjectTests/IndividualFrames/png/a2/2.png Binary files differnew file mode 100755 index 0000000..6ec3dac --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/png/a2/2.png diff --git a/anim/DrawableObjectTests/IndividualFrames/png/a2/3.png b/anim/DrawableObjectTests/IndividualFrames/png/a2/3.png Binary files differnew file mode 100755 index 0000000..157dfc8 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/png/a2/3.png diff --git a/anim/DrawableObjectTests/IndividualFrames/png/a2/4.png b/anim/DrawableObjectTests/IndividualFrames/png/a2/4.png Binary files differnew file mode 100755 index 0000000..5719ab6 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/png/a2/4.png diff --git a/anim/DrawableObjectTests/IndividualFrames/png/a2/5.png b/anim/DrawableObjectTests/IndividualFrames/png/a2/5.png Binary files differnew file mode 100755 index 0000000..3cfd8a3 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/png/a2/5.png diff --git a/anim/DrawableObjectTests/IndividualFrames/png/a2/6.png b/anim/DrawableObjectTests/IndividualFrames/png/a2/6.png Binary files differnew file mode 100755 index 0000000..750ed8b --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/png/a2/6.png diff --git a/anim/DrawableObjectTests/IndividualFrames/png/a2/7.png b/anim/DrawableObjectTests/IndividualFrames/png/a2/7.png Binary files differnew file mode 100755 index 0000000..ce7756e --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/png/a2/7.png diff --git a/anim/DrawableObjectTests/IndividualFrames/png/a2/8.png b/anim/DrawableObjectTests/IndividualFrames/png/a2/8.png Binary files differnew file mode 100755 index 0000000..e28a906 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/png/a2/8.png diff --git a/anim/DrawableObjectTests/IndividualFrames/png/a2/9.png b/anim/DrawableObjectTests/IndividualFrames/png/a2/9.png Binary files differnew file mode 100755 index 0000000..b6b2cd8 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/png/a2/9.png diff --git a/anim/DrawableObjectTests/IndividualFrames/pngt/a1/1.png b/anim/DrawableObjectTests/IndividualFrames/pngt/a1/1.png Binary files differnew file mode 100755 index 0000000..dab1239 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/pngt/a1/1.png diff --git a/anim/DrawableObjectTests/IndividualFrames/pngt/a1/2.png b/anim/DrawableObjectTests/IndividualFrames/pngt/a1/2.png Binary files differnew file mode 100755 index 0000000..56312a7 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/pngt/a1/2.png diff --git a/anim/DrawableObjectTests/IndividualFrames/pngt/a1/3.png b/anim/DrawableObjectTests/IndividualFrames/pngt/a1/3.png Binary files differnew file mode 100755 index 0000000..4ceb540 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/pngt/a1/3.png diff --git a/anim/DrawableObjectTests/IndividualFrames/pngt/a1/4.png b/anim/DrawableObjectTests/IndividualFrames/pngt/a1/4.png Binary files differnew file mode 100755 index 0000000..38d640a --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/pngt/a1/4.png diff --git a/anim/DrawableObjectTests/IndividualFrames/pngt/a1/5.png b/anim/DrawableObjectTests/IndividualFrames/pngt/a1/5.png Binary files differnew file mode 100755 index 0000000..dcc14d4 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/pngt/a1/5.png diff --git a/anim/DrawableObjectTests/IndividualFrames/pngt/a1/6.png b/anim/DrawableObjectTests/IndividualFrames/pngt/a1/6.png Binary files differnew file mode 100755 index 0000000..cb2f933 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/pngt/a1/6.png diff --git a/anim/DrawableObjectTests/IndividualFrames/pngt/a1/7.png b/anim/DrawableObjectTests/IndividualFrames/pngt/a1/7.png Binary files differnew file mode 100755 index 0000000..497ed6f --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/pngt/a1/7.png diff --git a/anim/DrawableObjectTests/IndividualFrames/pngt/a1/8.png b/anim/DrawableObjectTests/IndividualFrames/pngt/a1/8.png Binary files differnew file mode 100755 index 0000000..693ac1e --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/pngt/a1/8.png diff --git a/anim/DrawableObjectTests/IndividualFrames/pngt/a1/9.png b/anim/DrawableObjectTests/IndividualFrames/pngt/a1/9.png Binary files differnew file mode 100755 index 0000000..e83b570 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/pngt/a1/9.png diff --git a/anim/DrawableObjectTests/IndividualFrames/pngt/a2/1.png b/anim/DrawableObjectTests/IndividualFrames/pngt/a2/1.png Binary files differnew file mode 100755 index 0000000..06f2b7c --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/pngt/a2/1.png diff --git a/anim/DrawableObjectTests/IndividualFrames/pngt/a2/2.png b/anim/DrawableObjectTests/IndividualFrames/pngt/a2/2.png Binary files differnew file mode 100755 index 0000000..f20ed10 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/pngt/a2/2.png diff --git a/anim/DrawableObjectTests/IndividualFrames/pngt/a2/3.png b/anim/DrawableObjectTests/IndividualFrames/pngt/a2/3.png Binary files differnew file mode 100755 index 0000000..6681f2e --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/pngt/a2/3.png diff --git a/anim/DrawableObjectTests/IndividualFrames/pngt/a2/4.png b/anim/DrawableObjectTests/IndividualFrames/pngt/a2/4.png Binary files differnew file mode 100755 index 0000000..ff3f0f1 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/pngt/a2/4.png diff --git a/anim/DrawableObjectTests/IndividualFrames/pngt/a2/5.png b/anim/DrawableObjectTests/IndividualFrames/pngt/a2/5.png Binary files differnew file mode 100755 index 0000000..1152066 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/pngt/a2/5.png diff --git a/anim/DrawableObjectTests/IndividualFrames/pngt/a2/6.png b/anim/DrawableObjectTests/IndividualFrames/pngt/a2/6.png Binary files differnew file mode 100755 index 0000000..458e680 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/pngt/a2/6.png diff --git a/anim/DrawableObjectTests/IndividualFrames/pngt/a2/7.png b/anim/DrawableObjectTests/IndividualFrames/pngt/a2/7.png Binary files differnew file mode 100755 index 0000000..4097b74 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/pngt/a2/7.png diff --git a/anim/DrawableObjectTests/IndividualFrames/pngt/a2/8.png b/anim/DrawableObjectTests/IndividualFrames/pngt/a2/8.png Binary files differnew file mode 100755 index 0000000..e6ee9b2 --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/pngt/a2/8.png diff --git a/anim/DrawableObjectTests/IndividualFrames/pngt/a2/9.png b/anim/DrawableObjectTests/IndividualFrames/pngt/a2/9.png Binary files differnew file mode 100755 index 0000000..314aabf --- /dev/null +++ b/anim/DrawableObjectTests/IndividualFrames/pngt/a2/9.png diff --git a/anim/DrawableObjectTests/Room.gif b/anim/DrawableObjectTests/Room.gif Binary files differnew file mode 100644 index 0000000..798ebf1 --- /dev/null +++ b/anim/DrawableObjectTests/Room.gif diff --git a/anim/DrawableObjectTests/Scene.py b/anim/DrawableObjectTests/Scene.py new file mode 100644 index 0000000..959fd87 --- /dev/null +++ b/anim/DrawableObjectTests/Scene.py @@ -0,0 +1,165 @@ +import pygame
+
+class Scene:
+
+ def __init__(self, drawableObjects):
+
+ self._my_Objects = []
+
+ cnt = 0
+ while cnt < len(drawableObjects):
+ self._my_Objects.append([drawableObjects[cnt],drawableObjects[cnt].getXPos(),drawableObjects[cnt].getYPos()])
+ cnt += 1
+
+ self.xPos = 0
+ self.yPos = 0
+ self.xSize = 0
+ self.ySize = 0
+
+ self.calcPosition()
+ self.calcSize()
+ self.setRelativePositions()
+
+ def calcPosition(self):
+
+ lowestX = 9000
+ lowestY = 9000
+
+ cnt = 0
+ while cnt < len(self._my_Objects):
+ if self._my_Objects[cnt][0].getXPos() < lowestX: lowestX = self._my_Objects[cnt][0].getXPos()
+ if self._my_Objects[cnt][0].getYPos() < lowestY: lowestY = self._my_Objects[cnt][0].getYPos()
+ cnt += 1
+
+ self.xPos = lowestX
+ self.yPos = lowestY
+
+ def calcSize(self):
+
+ highestX = 0
+ highestY = 0
+
+ cnt = 0
+ while cnt < len(self._my_Objects):
+ if self._my_Objects[cnt][0].getXPos() + self._my_Objects[cnt][0].getXSize() > highestX: highestX = self._my_Objects[cnt][0].getXPos() + self._my_Objects[cnt][0].getXSize()
+ if self._my_Objects[cnt][0].getYPos() + self._my_Objects[cnt][0].getYSize() > highestY: highestY = self._my_Objects[cnt][0].getYPos() + self._my_Objects[cnt][0].getYSize()
+ cnt += 1
+
+ self.xSize = highestX - self.xPos
+ self.ySize = highestY - self.yPos
+
+ def addObjects(self, newDrawableObjects):
+
+ cnt = 0
+ while cnt < len(newDrawableObjects):
+ self._my_Objects.append([newDrawableObjects[cnt],newDrawableObjects[cnt].getXPos(),newDrawableObjects[cnt].getYPos()])
+ cnt += 1
+
+ self.calcPosition()
+ self.calcSize()
+ self.setRelativePositions()
+
+ def setRelativePositions(self):
+
+ cnt = 0
+ while cnt < len(self._my_Objects):
+ self._my_Objects[cnt][1] = self._my_Objects[cnt][1] - self.xPos
+ self._my_Objects[cnt][2] = self._my_Objects[cnt][2] - self.yPos
+ cnt += 1
+
+ def removeObject(self, index):
+
+ if index < len(self._my_Objects): del self._my_Objects[index]
+
+ def getObject(self, index):
+
+ if index < len(self._my_Objects):
+ return self._my_Objects[index][0]
+
+ def getListSize(self):
+ return len(self._my_Objects)
+
+ def moveObjects(self):
+
+ cnt = 0
+ while cnt < len(self._my_Objects):
+
+ self._my_Objects[cnt][0].move()
+ cnt += 1
+
+ self.calcPosition()
+ self.calcSize()
+ self.setRelativePositions()
+
+ def moveScene(self, xNudge = 0, yNudge = 0):
+
+ cnt = 0
+ while cnt < len(self._my_Objects):
+
+ self._my_Objects[cnt][0].nudge(xNudge, yNudge)
+ cnt += 1
+
+ self.calcPosition()
+
+ def setPosition(self, newXPos = None, newYPos = None):
+
+ if newXPos != None: self.xPos = newXPos
+ if newYPos != None: self.yPos = newYPos
+
+ cnt = 0
+ while cnt < len(self._my_Objects):
+
+ self._my_Objects[cnt][0].setPosition(self.xPos + self._my_Objects[cnt][1], self.yPos + self._my_Objects[cnt][2])
+ cnt += 1
+
+ def getXPos(self):
+ return self.xPos
+
+ def getYPos(self):
+ return self.yPos
+
+ def getXSize(self):
+ return self.xSize
+
+ def getYSize(self):
+ return self.ySize
+
+ def scaleObjects(self, newXSize = None, newYSize = None):
+
+ cnt = 0
+ while cnt < len(self._my_Objects):
+ self._my_Objects[cnt][0].scale(newXSize, newYSize)
+ cnt += 1
+
+ def scaleScene(self, newXSize = None, newYSize = None):
+
+ xScale = 1
+ yScale = 1
+
+ if newXSize != None: xScale = (newXSize * 1.0)/self.xSize
+ if newYSize != None: yScale = (newYSize * 1.0)/self.ySize
+
+ cnt = 0
+ while cnt < len(self._my_Objects):
+ self._my_Objects[cnt][0].scale(xScale * self._my_Objects[cnt][0].getXSize(), yScale * self._my_Objects[cnt][0].getYSize())
+ self._my_Objects[cnt][1] = xScale * self._my_Objects[cnt][1]
+ self._my_Objects[cnt][2] = yScale * self._my_Objects[cnt][2]
+ cnt += 1
+
+ self.setPosition()
+
+ def updateAnimations(self, t):
+
+ cnt = 0
+ while cnt < len(self._my_Objects):
+
+ self._my_Objects[cnt][0].updateCurrentAnimation(t)
+ cnt += 1
+
+ def nextFrame(self):
+
+ cnt = 0
+ while cnt < len(self._my_Objects):
+
+ self._my_Objects[cnt][0].nextFrame()
+ cnt += 1
diff --git a/anim/DrawableObjectTests/Spritesheet.py b/anim/DrawableObjectTests/Spritesheet.py new file mode 100755 index 0000000..ddb18a8 --- /dev/null +++ b/anim/DrawableObjectTests/Spritesheet.py @@ -0,0 +1,31 @@ +import pygame
+
+class Spritesheet:
+ """
+ Class from http://www.scriptedfun.com/transcript-2-using-sprite-sheets-and-drawing-the-background/
+
+ This class can be used to seporate images from the sprite sheet
+ """
+ def __init__(self, filename):
+ self.sheet = pygame.image.load(filename).convert()
+
+ def imgat(self, rect, myColorKey = None):
+ rect = pygame.Rect(rect)
+ image = pygame.Surface(rect.size).convert()
+ if myColorKey == None: myColorKey = image.get_at((0,0))
+ image.set_colorkey(myColorKey)
+ image.blit(self.sheet, (0, 0), rect)
+ return image
+
+ def imgsat(self, rects, myColorKey = None):
+ imgs = []
+ for rect in rects:
+ imgs.append(self.imgat(rect, myColorKey))
+ return imgs
+
+ def img_extract( self, cols, rows, width, height, myColorKey = None):
+ rect_list = []
+ for y in range(0, rows):
+ for x in range(0, cols):
+ rect_list.append( (width*x, height*y, width, height,) )
+ return self.imgsat( rect_list, myColorKey)
\ No newline at end of file diff --git a/anim/DrawableObjectTests/StaticDrawableObject.py b/anim/DrawableObjectTests/StaticDrawableObject.py new file mode 100755 index 0000000..6486eb2 --- /dev/null +++ b/anim/DrawableObjectTests/StaticDrawableObject.py @@ -0,0 +1,32 @@ +import pygame
+from DrawableObject import DrawableObject
+
+class StaticDrawableObject(pygame.sprite.Sprite):
+
+ def __init __(self,images,textfileName,fps = 10):
+ pygame.sprite.Sprite.__init__(self)
+ self._images = images
+
+ self._start = pygame.time.get_ticks()
+ self._delay = 1000 / fps
+ self._last_update = 0
+ self._frame = 0
+ self.animations = {}
+
+ if textfileName != '':
+
+ f = open(textfileName, 'r')
+ currentLine = f.readline()
+ while currentLine != '':
+
+ animValues = currentLine.split(",")
+ self.animations[animValues[0]] = [int(animValues[1]), int(animValues[2])]
+ currentLine = f.readline()
+
+
+ def addImages(self, images):
+
+ self._images.extend(images)
+
+
+
diff --git a/anim/DrawableObjectTests/TestObject b/anim/DrawableObjectTests/TestObject new file mode 100644 index 0000000..3dbdc60 --- /dev/null +++ b/anim/DrawableObjectTests/TestObject @@ -0,0 +1,16 @@ +import pygame
+from DrawableObject import DrawableObject
+
+class TestObject:
+
+ def __init__(self, drawableObject):
+
+ self.myDrawableObject = drawableObject
+
+ def changeSize(self, x, y):
+
+ self.myDrawableObject.scale(x,y)
+
+ def getDrawable(self):
+
+ return self.myDrawableObject
\ No newline at end of file diff --git a/anim/DrawableObjectTests/TestObject.py b/anim/DrawableObjectTests/TestObject.py new file mode 100644 index 0000000..3dbdc60 --- /dev/null +++ b/anim/DrawableObjectTests/TestObject.py @@ -0,0 +1,16 @@ +import pygame
+from DrawableObject import DrawableObject
+
+class TestObject:
+
+ def __init__(self, drawableObject):
+
+ self.myDrawableObject = drawableObject
+
+ def changeSize(self, x, y):
+
+ self.myDrawableObject.scale(x,y)
+
+ def getDrawable(self):
+
+ return self.myDrawableObject
\ No newline at end of file diff --git a/anim/DrawableObjectTests/TestObject.txt b/anim/DrawableObjectTests/TestObject.txt new file mode 100644 index 0000000..3dbdc60 --- /dev/null +++ b/anim/DrawableObjectTests/TestObject.txt @@ -0,0 +1,16 @@ +import pygame
+from DrawableObject import DrawableObject
+
+class TestObject:
+
+ def __init__(self, drawableObject):
+
+ self.myDrawableObject = drawableObject
+
+ def changeSize(self, x, y):
+
+ self.myDrawableObject.scale(x,y)
+
+ def getDrawable(self):
+
+ return self.myDrawableObject
\ No newline at end of file diff --git a/anim/DrawableObjectTests/boxes.py b/anim/DrawableObjectTests/boxes.py new file mode 100644 index 0000000..5b444b6 --- /dev/null +++ b/anim/DrawableObjectTests/boxes.py @@ -0,0 +1,32 @@ +import pygame
+
+class UpDownBox(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.next_update_time = 0 # update() hasn't been called yet.
+
+ def update(self, current_time, bottom):
+ # Update every 10 milliseconds = 1/100th of a second.
+ if self.next_update_time < current_time:
+
+ # If we're at the top or bottom of the screen, switch directions.
+ if self.rect.bottom == bottom - 1: self.going_down = False
+ elif self.rect.top == 0: self.going_down = True
+
+ # Move our position up or down by one pixel
+ if self.going_down: self.rect.top += 1
+ else: self.rect.top -= 1
+
+ if self.listPos < self.listLen - 1:
+ self.listPos += 1
+ else:
+ self.listPos = 0
+ self.image = self.images[self.listPos]
+ self.next_update_time = current_time
diff --git a/anim/DrawableObjectTests/goblin.png b/anim/DrawableObjectTests/goblin.png Binary files differnew file mode 100644 index 0000000..6bdca0f --- /dev/null +++ b/anim/DrawableObjectTests/goblin.png diff --git a/anim/DrawableObjectTests/renderupdates.py b/anim/DrawableObjectTests/renderupdates.py new file mode 100644 index 0000000..30ffe5b --- /dev/null +++ b/anim/DrawableObjectTests/renderupdates.py @@ -0,0 +1,71 @@ +import pygame
+from pygame.locals import *
+from boxes import UpDownBox
+from time import time
+
+pygame.init()
+boxes = pygame.sprite.RenderUpdates()
+boxesTwo = pygame.sprite.RenderUpdates()
+boxesThree = pygame.sprite.RenderUpdates()
+
+switch1 = [
+ pygame.image.load("%sa1/1%s"%("IndividualFrames/bmp16/",".bmp")),
+ pygame.image.load("%sa1/2%s"%("IndividualFrames/bmp16/",".bmp")),
+ pygame.image.load("%sa1/3%s"%("IndividualFrames/bmp16/",".bmp")),
+ pygame.image.load("%sa1/4%s"%("IndividualFrames/bmp16/",".bmp")),
+ pygame.image.load("%sa1/5%s"%("IndividualFrames/bmp16/",".bmp")),
+ pygame.image.load("%sa1/6%s"%("IndividualFrames/bmp16/",".bmp")),
+ pygame.image.load("%sa1/7%s"%("IndividualFrames/bmp16/",".bmp")),
+ pygame.image.load("%sa1/8%s"%("IndividualFrames/bmp16/",".bmp")),
+ pygame.image.load("%sa1/9%s"%("IndividualFrames/bmp16/",".bmp"))
+]
+
+switch2 = [
+ pygame.image.load("%sa1/1%s"%("IndividualFrames/bmp16/",".bmp")),
+ pygame.image.load("%sa1/2%s"%("IndividualFrames/bmp16/",".bmp")),
+ pygame.image.load("%sa1/3%s"%("IndividualFrames/bmp16/",".bmp")),
+ pygame.image.load("%sa1/4%s"%("IndividualFrames/bmp16/",".bmp")),
+ pygame.image.load("%sa1/5%s"%("IndividualFrames/bmp16/",".bmp")),
+ pygame.image.load("%sa1/6%s"%("IndividualFrames/bmp16/",".bmp")),
+ pygame.image.load("%sa1/7%s"%("IndividualFrames/bmp16/",".bmp")),
+ pygame.image.load("%sa1/8%s"%("IndividualFrames/bmp16/",".bmp")),
+ pygame.image.load("%sa1/9%s"%("IndividualFrames/bmp16/",".bmp"))
+]
+
+switch3 = [
+ pygame.image.load("%sa1/1%s"%("IndividualFrames/bmp16/",".bmp")),
+ pygame.image.load("%sa1/2%s"%("IndividualFrames/bmp16/",".bmp")),
+ pygame.image.load("%sa1/3%s"%("IndividualFrames/bmp16/",".bmp")),
+ pygame.image.load("%sa1/4%s"%("IndividualFrames/bmp16/",".bmp")),
+ pygame.image.load("%sa1/5%s"%("IndividualFrames/bmp16/",".bmp")),
+ pygame.image.load("%sa1/6%s"%("IndividualFrames/bmp16/",".bmp")),
+ pygame.image.load("%sa1/7%s"%("IndividualFrames/bmp16/",".bmp")),
+ pygame.image.load("%sa1/8%s"%("IndividualFrames/bmp16/",".bmp")),
+ pygame.image.load("%sa1/9%s"%("IndividualFrames/bmp16/",".bmp"))
+]
+
+boxes.add(UpDownBox(switch1, (0, 0)))
+boxes.add(UpDownBox(switch1, (100, 100)))
+boxes.add(UpDownBox(switch1, (200, 200)))
+
+
+screen = pygame.display.set_mode([1200, 900])
+boxesTwo.add(UpDownBox([pygame.image.load("goblin.png")], (0,300)))
+background = pygame.image.load("Room.gif")
+#background.fill(pygame.image.load("Room.gif"))
+screen.blit(background, [0, 0])
+pygame.display.flip()
+boxesTwo.update(pygame.time.get_ticks(), 700)
+rectlist = boxesTwo.draw(screen)
+pygame.display.update(rectlist)
+start = time()
+for i in range(2000):
+ boxes.update(pygame.time.get_ticks(), 700)
+ boxesTwo.update(pygame.time.get_ticks(), 700)
+ rectlist = boxesTwo.draw(screen)
+ rectlist.extend(boxes.draw(screen))
+ pygame.display.update(rectlist)
+ boxesTwo.clear(screen, background)
+ boxes.clear(screen, background)
+
+print 2000/(time() - start)
|