All pastes #792621 Raw Edit

Pygame Mouse Test

public python v1 · immutable
·published 2007-11-21 16:08 UTC
rendered paste body
#!/usr/bin/env pythonimport os, sysimport pygamefrom pygame import spritefrom pygame.locals import *if not pygame.font: print 'Warning, fonts disabled'if not pygame.mixer: print 'Warning, sound disabled'class BaseSprite(sprite.Sprite):    def __init__(self, image, (x,y)):        sprite.Sprite.__init__(self)        self.image = image        width, height = self.image.get_size()        self.rect = Rect(x, y, width, height)class BaseMouse(BaseSprite):    def __init__(self, image, (x,y)):        BaseSprite.__init__(self, image, (x,y))        self.x, self.y = x, y        pygame.event.set_grab(True)        pygame.mouse.set_visible(False)        def update(self):        """update the mouse position."""        # TODO: Fix this so that things can be configured, SUCH AS: mouse sensitivity, mouse inversion, etc.        deltax, deltay = pygame.mouse.get_rel()        self.x += deltax        self.y += deltay        self.rect.top = self.y        self.rect.left = self.x        # pygame.mouse.set_pos(self.x, self.y)def testmouse():    # Set up Pygame/the screen.    pygame.init()    screen = pygame.display.set_mode((640, 480))    pygame.display.set_caption('Mouse test')    background = pygame.Surface(screen.get_size())    background = background.convert()    background.fill((0, 0, 0))        # Clock to fix max FPS!    clock = pygame.time.Clock()        # Create Mouse sprite    mouseimg = pygame.image.load("cursor.png")    mouse = BaseMouse(mouseimg, (320, 240))        # Create group of all sprites (the mouse)    sprites = sprite.Group(mouse)        while True:        clock.tick(60)        for event in pygame.event.get():            if event.type == QUIT:                return            elif event.type == KEYDOWN and event.key == K_ESCAPE:                return        background.fill((0, 0, 0))        sprites.update()        sprites.draw(background)        screen.blit(background, (0, 0))        pygame.display.flip()        if __name__ == "__main__":    testmouse()