See I got this png file w/ a white BG :( is it possible to make the white in
the BG of the image transparent?

<<attachment: player.png>>

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):
                rect = Rect(rect)
                img = pygame.Surface(rect.size).convert()
                img.set_alpha(40)
                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 = []
                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):
                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
                        guner = SpriteSheet("player.png")
                        guner.slice((0,0,40,57))
                        self.window.blit(guner.imag,(400,400))
                        pygame.display.update()
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