Okay thanks sounds like a plan.On 9/11/07, Ian Mallett <geometrian@xxxxxxxxx > wrote:Opps. That's:
if frame_number%10 == 0: #frame_number is a multiple of ten
#draw frame 1
elif frame_number%9 == 0: #frame_number ends in 9
#draw frame 2
elif frame_number%8 == 0: #frame_number ends in 8
#draw frame 3
elif frame_number%7 == 0: #frame_number ends in 7
#draw frame 4
elif frame_number%6 == 0: #frame_number ends in 6
#draw frame 5
elif frame_number%5 == 0: #frame_number ends in 5
#draw frame 6
elif frame_number%4 == 0: #frame_number ends in 4
#draw frame 7
elif frame_number%3 == 0: #frame_number ends in 3
#draw frame 8
elif frame_number%2 == 0: #frame_number ends in 2
#draw frame 9
else: #frame_number ends in 1
#draw frame 10
Ian
#Lamonte import pygame,sys,string from pygame.locals import * class Block(pygame.sprite.Sprite): def __init__(self): pygame.sprite.Sprite.__init__(self) class SpriteSheet: def __init__(self,image): self.sprite = pygame.image.load(image).convert() self.rect = '' self.imag = '' def slice(self,rect,key): rect = Rect(rect) img = pygame.Surface(rect.size).convert() img.set_colorkey(key) img.blit(self.sprite,(0,0),rect) self.rect = rect self.imag = img class map_(object): def __init__(self,block=100,wndow=(300,300)): self.BLOCK = block self.size = wndow self.window = pygame.display.set_mode(self.size) self.blocks = [] self.map = [] self.ANIMATION = [] self.clock = pygame.time.Clock() self.frame = 0 pygame.init() def hex_converter(self,hexcolorcode): hexcolorcode = hexcolorcode[1:] red = hexcolorcode[0:2] red = int(red,16) blue = hexcolorcode[2:4] blue = int(blue,16) green = hexcolorcode[4:6] green = int(green,16) return (red,green,blue) def create_box(self,size,color,rect): box = Block() box.image = pygame.Surface((size)) pygame.draw.rect(box.image,color,box.image.get_rect()) box.color = color box.point = rect self.blocks.append(box) def load_text_map(self,map): file = open(map,"r") links = file.readlines() file.close() x = 0 total = len(links) k = 0 while k<total: self.map.append([]) k += 1 for i in links: i = string.replace(i,"\n","") i = i.split(",") for e in i: self.map[x].append(e) x += 1 def render_map(self,aray,dict): x=0 for e in aray: z = 0 for y in e: aray[x][z] = dict[int(y)] z += 1 x += 1 return aray def main(self): z = 0 x = 0 y = 0 m = 0 while z < len(self.map): q = 0 while q < len(self.map[z]): self.create_box(self.map[z][q][0],self.map[z][q][1],(x,y)) x += self.BLOCK q += 1 x = 0 y += self.BLOCK z += 1 self.draw_box() def draw_box(self): guner = SpriteSheet("player.png") g1 = guner g2 = guner g1.slice((0,0,40,57),(255,255,255)) g2.slice((40,57,40,57),(255,255,255)) self.ANIMATION.append(g1) self.ANIMATION.append(g2) while True: for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() e = 0 while e < len(self.blocks): self.window.blit(self.blocks[e].image,self.blocks[e].point) e += 1 u = 0 if self.frame > 1: self.frame = 0 print self.frame self.window.blit(self.ANIMATION[self.frame].imag,(400,400)) #print self.ANIMATION[self.frame].imag self.frame += 1 pygame.display.update() pygame.display.flip() self.clock.tick(2) Map = map_(25,(700,600)) tiles = {1 : [(25,25),Map.hex_converter("#E0ECFF")], 2 : [(25,25),Map.hex_converter("#B5EDBC")], 3 : [(25,25),Map.hex_converter("#F3E807")] } Map.load_text_map("map1.map") Map.render_map(Map.map,tiles) Map.main()
Attachment:
player.png
Description: PNG image