66
|
1 # cursor.py
|
|
2 # Copyright Boomslang team, 2010 (see COPYING File)
|
|
3 # Sprite Cursor
|
|
4
|
|
5 from albow.screen import Screen
|
|
6 from albow.resource import get_image
|
|
7 import pygame.mouse as mouse
|
|
8 from pygame.sprite import Sprite, RenderUpdates
|
|
9
|
|
10 class CursorSprite(Sprite):
|
|
11 "A Sprite that follows the Cursor"
|
|
12
|
|
13 def __init__(self, filename):
|
|
14 Sprite.__init__(self)
|
|
15 self.image = get_image('items', filename + '.png')
|
|
16 self.rect = self.image.get_rect()
|
|
17
|
|
18 def update(self):
|
|
19 self.rect.midtop = mouse.get_pos()
|
|
20
|
|
21
|
|
22 class CursorSpriteScreen(Screen):
|
|
23 "A Screen with a CursorSprite"
|
|
24
|
|
25 def __init__(self, shell):
|
|
26 Screen.__init__(self, shell)
|
|
27
|
|
28 sprite = CursorSprite('hand')
|
|
29 self.cursor_group = RenderUpdates(sprite)
|
|
30
|
|
31 def draw(self, surface):
|
|
32 self.cursor_group.update()
|
|
33 self.cursor_group.draw(surface)
|
|
34
|
|
35 def mouse_move(self, event):
|
|
36 self.invalidate()
|