[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
> >
>
>