Upcoming SlideShare
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Standard text messaging rates apply

# XIX PUG-PE - Pygame game development

3,209
views

Published on

PPT created for a presentation on XIX PUG-PE with the basic concept of Pygame

PPT created for a presentation on XIX PUG-PE with the basic concept of Pygame

Published in: Technology, Design

0 Likes
Statistics
Notes
• Full Name
Comment goes here.

Are you sure you want to Yes No
Your message goes here
• Be the first to comment

• Be the first to like this

Views
Total Views
3,209
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
20
0
Likes
0
Embeds 0
No embeds

No notes for slide

### Transcript

• 1. Pygame - GameDevelopmentMatheus MeloXIX PUG-PE
• 2. Schedule Introduction What is PyGame? PyGame essential Elements Developing games with Pygame
• 3. What is Pygame? Set of Python modules for writing games Compatible with SDL Free 
• 4. Best Features No need to OpenGL setup Multi-core C/Assembler Core Functions Portable Easy to use Comunity
• 5. Problems Python is slow   But you can do something to turn this out. You write too much Isn’t a Game Engine, it’s a library.
• 6. Essential Elements Surface  What is surface?  2D and 3D planes.  Eg:  tamanho = ( 640 , 480 )  cor = ( 255 , 0 , 0 ) # v e rme lho  superficie = Surface ( tamanho )  superficie . set_at ( ( 10 , 20 ) , cor )  superficie . fill ( cor , ( 11 , 21 , 50 , 50 ) )  tela = pygame . display . set_mode ( tamanho )
• 7. Surface – Important Functions fill( color, area)  Fill a area with the selected color get_at( position )  Returns the color that was in the setted position set_at( position, color)  Set the color on that position
• 8. Surface – Color Depth 256 Colors 24 bpp RGB  3 Bytes per color
• 9. Surface - Transparency ColorKey  One color is chosen to be transparent Image Alpha  Can have his Translucency between 0 and 255  Can be used together with ColorKey Per-Pixel Alpha  Has a associated Alpha component.  Cannot be used with another transparency
• 10. What is Blit ? Convert the current Surface Color Depth to the next Surface Color Depth It is a very costly function What is the alternative?
• 11. Rect What is it? Eg:  r = Rect ( ( 10 , 10 , 50 , 100 ) )  print r.top , r. bottom # 1 0 1 1 0  print r.left , r. right # 1 0 6 0  print r.midtop , r. midleft # ( 3 5 , 1 0 ) ( 1 0 , 6 0 )  print r. center # ( 3 5 , 6 0 )  c1 = r. collidepoint ( 30 , 40 )  c2 = r. colliderect ( ( 0 , 0 , 100 , 200 ) )  r2 = r. inflate ( 10 , 10 )  r2. move_ip ( 5 , 5 )
• 12. Rect – Important Functions clamp (area)  Returns a new rectangle inside this area clip(area)  Returns a new rectangle with his area cliped to fill the new area collidepoint(x, y)  Check if the point is in the rectangle. colliderect(area)  Check if the area toch the current rectangle
• 13. Rect – Important Functions contains(area)  Check if the area is in the rectangle. inflate(x,y)  Returns a new rectangle with the dimensions of the current rectangle increased according to the passed value move(x,y)  Returns a new rectangle with the positions of current rectangle driven by passed values ​
• 14. Display What is it? Eg:  modos = pygame . display . list_modes ()  tela = pygame . display . set_mode ( modos [ 0 ] )  rect = pygame . Rect ( 0 , 0 , 10 , 10 )  pygame . display . set_caption ( " Teste do PyGame " )  while tela . get_rect (). contains ( rect ):  tela . fill ( ( 0 , 0 , 0 ) )  tela . fill ( ( 255 , 0 , 0 ) , rect )  rect . move_ip ( 10 , 10 )  pygame . display . flip ()
• 15. Display – Essential Functions flip()  Update all the screen content get_surface()  Return the current surface list_modes()  List possible resolutions/dimensions set_caption(title)  Change screen title
• 16. Display – Essential Functions set_mode(size)  Setup the screen with the passed size toggle_fullscreen()  Toggle to fullscreen update(rect_list)  Update certain areas of the screen depending of the passed list of rectangles
• 17. Event What is it? Thereare two methods to handle the line of events  Event Queued  Direct consultation of devices
• 18. Event Queued from pygame . locals import * for event in pygame . event .get ():  if event . type == QUIT :  sys . exit ()  elif event . type == KEYDOWN :  print event .key
• 19. Direct Consultation of Devices from pygame . locals import * while not ( pygame . mouse . get_pressed ()[ 0 ] or pygame .key . get_pressed ()[ K_SPACE ] ):  pygame . event . pump ()
• 20. References Python: http://www.python.org/ PyGame: http://www.pygame.org/ A Newbie Guide to pygame: http://www.pygame.org/docs/tut/newbieguide.html Introdução ao Pygame: http://www.pygame.org/docs/tut/intro/intro.html Dicas de Performance para Python: http: //www.python.org/moin/PythonSpeed/Performance Tips Introdução ao Módulo Sprite do PyGame: http://www.pygame.org/docs/tut/SpriteIntro.html
• 21. Contact Details Matheus Melo Work mail:  matheus.melo@idealizza.com.br Personal mail:  matheuscmpm@gmail.com Twitter:  @matheuscmpm Facebook  /matheuscmpm