Nvm I fixed it. :D

On 9/11/07, Lamonte Harris <[EMAIL PROTECTED]> wrote:
>
> Okay this is really complicated, it seem like its looping correctly but
> the images aren't switching.
>
> On 9/11/07, Lamonte Harris < [EMAIL PROTECTED]> wrote:
> >
> > Okay thanks sounds like a plan.
> >
> > On 9/11/07, Ian Mallett <[EMAIL PROTECTED] > 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):
                g1 = SpriteSheet("player.png")
                g2 = SpriteSheet("player.png")
                g1.slice((0,0,40,57),(255,255,255))
                g2.slice((80,114,40,57),(255,255,255))
                self.ANIMATION.append(g1)
                self.ANIMATION.append(g2)
                print self.ANIMATION
                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
                        pygame.display.update()
                        pygame.display.flip()
                        self.clock.tick(2)
                        self.frame += 1
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()

Reply via email to