[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: [pygame] stupid question
hi again
Take a look at that load_image function. It is loading a non-transparent
image from a BMP and then adding colorkey transparency to it. There is
nothing special you need to do. Call Surface.set_colorkey() with the
color you want to be transparent. That's it.
i must be doing something veru stupid somewhere because it doesnt do it
properly.
class drawSprite():
def __init__(self, bgcolor, height, width):
self.image = pygame.Surface((height, width)).convert()
self.image.set_colorkey(bgcolor, pygame.RLEACCEL)
self.image.fill(bgcolor)
self.color = library.randomRGB()
for x in range(4) :
self.pts.append(library.randomPoint(height, width))
pygame.draw.polygon(self.image, self.color, self.pts, 0)
To render the surface on the stage I am deleting the image (fill with
background color its old position on screen), I calculte the new rect
and then I blit the self.image again on to the screen surface. Finally I
update the rects.
I have another example where I use an imported image. I just realised
that they are transparent to the screen, so if i change the background
color they keep transparent but if I move one on top of the other they
are actually not transparent and they cover the other images. So rather
their transparent areas have the color of the background.
any ideas about what could i be doing wrong? or maybe i need some more
complex system?
thanks again!
--
enrike