[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: [pygame] I can't seem to find any simple sprite animation game examples on the pygame.org site



Yeah you should.  I'm going to make some from the things I learned.

On 9/12/07, DR0ID <dr0id@xxxxxxxxxx> wrote:
Hi

either collision or scroll might be the next tutorial I will write, but
it will take some time. (sorry)

Shall I put the link to my tutorials to the pygame site?

~DR0ID

Lamonte Harris schrieb:
> :) yuo need to finish your collision tutorial.
>
> On 9/12/07, *DR0ID* < dr0id@xxxxxxxxxx <mailto:dr0id@xxxxxxxxxx>> wrote:
>
>
>     http://dr0id.homepage.bluewin.ch/pygame_tutorial04.html
>
>     ~DR0ID
>
>
>     Casey Duncan schrieb:
>     >
>     > On Sep 11, 2007, at 9:00 PM, Ian Mallett 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
>     > [snip lots of elifs]
>     >
>     > Or assuming you store the images in a list, e.g.:
>     >
>     > images = [image1, image2, image3, image4, image5]
>     >
>     > then
>     >
>     > this_image = images[frame_number % len(images)]
>     >
>     > which works with any arbitrary number of images without code changes
>     > and is faster and much more concise that a big if/elif block (which
>     > IMO should be avoided as much as possible).
>     >
>     > I also have this handy class for loading lots of images from files
>     > that I can match with a pattern:
>     >
>     > class Animation:
>     >
>     >     def __init__(self, file_pattern, colorkey=(0,0,0), alpha=255,
>     > fade=0):
>     >         self.images = []
>     >         for path in glob.glob('data/%s' % file_pattern):
>     >             image = pygame.image.load(path).convert()
>     >             image.set_colorkey (colorkey, RLEACCEL)
>     >             image.set_alpha (max(alpha, 0), RLEACCEL)
>     >             alpha -= fade
>     >             self.images.append(image)
>     >
>     > Which I use for explosions where I want the alpha to fade to
>     > transparent as it plays through.
>     >
>     > You use it like so:
>     >
>     > xplode = Animation('xplode/*.jpg', alpha=180, fade=8)
>     >
>     > or to just load it with everything opaque:
>     >
>     > anim = Animation('somedir/*.png')
>     >
>     > You said you were using sprite sheets though so it may not be that
>     > helpful to you.
>     >
>     > -Casey
>     >
>
>