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

[pygame] Patch for 'stars.py' and 'moveit.py' pygame examples



Hi,

I was just trying PyGame 1.7.1 from CVS on my Linux laptop and came
across a couple of bugs in the supplied example scripts. Here is a
patch:

Index: moveit.py
===================================================================
RCS file: /home/cvspsrv/cvsroot/games/pygame/examples/moveit.py,v
retrieving revision 1.2
diff -c -r1.2 moveit.py
*** moveit.py   5 Jan 2002 09:17:53 -0000       1.2
--- moveit.py   2 Jul 2005 01:32:50 -0000
***************
*** 40,45 ****
--- 40,47 ----

      player = load_image('player1.gif')
      background = load_image('liquid.bmp')
+     background = pygame.transform.scale2x(background)
+     background = pygame.transform.scale2x(background)
      screen.blit(background, (0, 0))

      objects = []

This patch scales the background image so that it fills the window and
successfully overwrites the old sprite position. See the script
'liquid.py' for details. The image 'liquid.bmp' was 'shrunk' a while
back, but 'moveit.py' wasn't updated.


Index: stars.py
===================================================================
RCS file: /home/cvspsrv/cvsroot/games/pygame/examples/stars.py,v
retrieving revision 1.7
diff -c -r1.7 stars.py
*** stars.py    7 Jan 2002 17:09:59 -0000       1.7
--- stars.py    2 Jul 2005 01:32:50 -0000
***************
*** 42,47 ****
--- 42,48 ----
  def draw_stars(surface, stars, color):
        "used to draw (and clear) the stars"
        for vel, pos in stars:
+               pos = (int(pos[0]), int(pos[1]))
                surface.set_at(pos, color)


***************
*** 62,67 ****
--- 63,69 ----
        #create our starfield
        random.seed()
        stars = initialize_stars()
+       clock = pygame.time.Clock()

        #initialize and prepare screen
        pygame.init()
***************
*** 84,89 ****
--- 86,92 ----
                                break
                        elif e.type == MOUSEBUTTONDOWN and e.button == 1:
                                WINCENTER[:] = list(e.pos)
+               clock.tick(50)

I'm using Python 2.3.5 on Gentoo.
This fixes a warning:

stars.py:45: DeprecationWarning: integer argument expected, got float
  surface.set_at(pos, color)

generated for every star when it is drawn and erased and slows the
program down tremendously! The warning subsystem suppresses all but the
first warning, but they are still being generated.

I added the frame-rate regulation clock to make it slow enough to see
after the fix.

Good luck with the new release,

cheers,
John Popplewell.