Mercurial > pygame-tutorial
annotate 000/005.py @ 12:9dc97f88e274 default tip
Added CC0 license
| author | Radomir Dopieralski <sheep-devel@sheep.art.pl> |
|---|---|
| date | Sun, 08 Jul 2012 19:56:38 +0200 |
| parents | 03fe34478f69 |
| children |
| rev | line source |
|---|---|
|
1
ae5f8de62b25
The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff
changeset
|
1 #!/usr/bin/env python |
|
ae5f8de62b25
The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff
changeset
|
2 # -*- coding: utf-8 -*- |
|
ae5f8de62b25
The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff
changeset
|
3 |
|
ae5f8de62b25
The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff
changeset
|
4 import pygame |
|
ae5f8de62b25
The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff
changeset
|
5 import pygame.locals as pg |
|
ae5f8de62b25
The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff
changeset
|
6 |
|
ae5f8de62b25
The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff
changeset
|
7 |
|
ae5f8de62b25
The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff
changeset
|
8 def initialize_screen(): |
|
ae5f8de62b25
The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff
changeset
|
9 """Initialize pygame, create a window and fill it with gray. |
|
ae5f8de62b25
The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff
changeset
|
10 Return the screen surface. |
|
ae5f8de62b25
The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff
changeset
|
11 """ |
|
ae5f8de62b25
The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff
changeset
|
12 pygame.display.init() |
|
ae5f8de62b25
The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff
changeset
|
13 screen = pygame.display.set_mode((800, 600)) |
|
ae5f8de62b25
The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff
changeset
|
14 screen.fill((0x66, 0x66, 0x66)) |
|
ae5f8de62b25
The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff
changeset
|
15 return screen |
|
ae5f8de62b25
The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff
changeset
|
16 |
|
ae5f8de62b25
The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff
changeset
|
17 def load_and_display_image(screen): |
|
ae5f8de62b25
The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff
changeset
|
18 """Load the image and display it in the middle of the screen.""" |
|
ae5f8de62b25
The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff
changeset
|
19 image = pygame.image.load('cup.png') |
|
ae5f8de62b25
The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff
changeset
|
20 image = image.convert() |
|
ae5f8de62b25
The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff
changeset
|
21 image.set_colorkey((0xff, 0x00, 0xff)) |
|
ae5f8de62b25
The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff
changeset
|
22 screen_rect = screen.get_rect() |
|
ae5f8de62b25
The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff
changeset
|
23 image_rect = image.get_rect() |
|
2
ee28ba29d97e
Some tweak in the basic pygame program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
1
diff
changeset
|
24 image_rect.center = screen_rect.center |
|
ee28ba29d97e
Some tweak in the basic pygame program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
1
diff
changeset
|
25 screen.blit(image, image_rect) |
|
1
ae5f8de62b25
The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff
changeset
|
26 |
|
ae5f8de62b25
The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff
changeset
|
27 def wait_for_quit(): |
|
ae5f8de62b25
The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff
changeset
|
28 """Sit there doing nothing until the window is closed.""" |
|
2
ee28ba29d97e
Some tweak in the basic pygame program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
1
diff
changeset
|
29 pygame.display.update() |
|
1
ae5f8de62b25
The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff
changeset
|
30 while True: |
|
ae5f8de62b25
The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff
changeset
|
31 event = pygame.event.wait() |
|
ae5f8de62b25
The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff
changeset
|
32 if event.type == pg.QUIT: |
|
ae5f8de62b25
The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff
changeset
|
33 return |
|
ae5f8de62b25
The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff
changeset
|
34 |
|
ae5f8de62b25
The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff
changeset
|
35 |
|
ae5f8de62b25
The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff
changeset
|
36 if __name__ == '__main__': |
|
ae5f8de62b25
The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff
changeset
|
37 screen = initialize_screen() |
|
ae5f8de62b25
The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff
changeset
|
38 load_and_display_image(screen) |
|
ae5f8de62b25
The first program
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff
changeset
|
39 wait_for_quit() |
