Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: daryo en 2 Mayo 2013, 02:45 am



Título: [python] menu pygame aporte
Publicado por: daryo en 2 Mayo 2013, 02:45 am
hecho para un juego amateour en entidad 3d



por ahora el code

https://mega.co.nz/#!1Rp01K4L!Q92l9V9YdE2W4V1JiNWpcia1e4wi5MmB-UcmzYdcgXE
 aca con imagenes y todo lo necesario para probarlo :)

PD: esa imagen es de una version antigua la ultima es mas completa pero da una idea
(http://s3.subirimagenes.com:81/imagen/633473111.png)

menu.py
Código
  1. # vim: set fileencoding=utf-8 :
  2. import fgh
  3. import pygame
  4. from pygame.locals import *
  5. pygame.init()
  6. cancion = pygame.mixer.Sound("asaw.ogg")
  7. cancion.play()
  8. fgh.main()

Código
  1. #!/usr/bin/env python
  2. # vim: set fileencoding=utf-8 :
  3. import pygame
  4. import sys
  5. from pygame.locals import *
  6. import os
  7. import hola
  8.  
  9. class mouse(pygame.sprite.Sprite):
  10.        def __init__(self):
  11. #clase de la mira que interactuara con el menu o texto
  12.                pygame.sprite.Sprite.__init__(self)
  13.                self.img = pygame.image.load("centromira.png")
  14.                # desaparece todo lo blanco y lo hace tranparente
  15.                self.rect = self.img.get_rect()
  16.                self.rect.centerx=100
  17. self.rect.centery=100
  18. self.img.set_colorkey((255,255,255))
  19.  
  20. class opcionz(pygame.sprite.Sprite):
  21.        def __init__(self):
  22.                pygame.sprite.Sprite.__init__(self)
  23. self.img=pygame.image.load("vv.png")
  24. self.rect = self.img.get_rect()
  25. self.rect.centerx=250
  26. self.rect.centery=130
  27. def colision(self,objeto):
  28. if self.rect.colliderect(objeto.rect):
  29. os.system("entidad3d.exe -name -jugador -map house -pickmode")
  30. sys.exit()
  31.  
  32. class salir(pygame.sprite.Sprite):
  33.        def __init__(self):
  34.                pygame.sprite.Sprite.__init__(self)
  35.                self.img=pygame.image.load("salir.png")
  36.                self.rect = self.img.get_rect()
  37.                self.rect.centerx=250
  38. self.rect.centery=350
  39. def colision(self,objeto):
  40. if self.rect.colliderect(objeto.rect):
  41.                        sys.exit(0)
  42.  
  43.  
  44. class minijuegos(pygame.sprite.Sprite):
  45.        def __init__(self):
  46.                pygame.sprite.Sprite.__init__(self)
  47.                self.img=pygame.image.load("minijuegos.png")
  48.                self.rect=self.img.get_rect()
  49.                self.rect.centerx=250
  50.                self.rect.centery=200
  51. def colision(self,objeto):
  52. if self.rect.colliderect(objeto.rect):
  53. os.system("call echo minijuegos ")
  54. class credito(pygame.sprite.Sprite):
  55. def __init__(self):
  56. pygame.sprite.Sprite.__init__(self)
  57. self.img=pygame.image.load("creditos.png")
  58. self.rect=self.img.get_rect()
  59. self.rect.centerx=250
  60. self.rect.centery=270
  61. def colision(self,objeto):
  62. if self.rect.colliderect(objeto.rect):
  63. hola.main()
  64.  
  65. def main():
  66. pygame.init()
  67. pantalla = pygame.display.set_mode((480,457),0)
  68. pygame.display.set_caption("future caos")
  69. fondo = pygame.image.load("zombies.jpg")
  70. fuente = pygame.font.Font("Death.ttf",40)
  71. mira= pygame.image.load("mira.bmp")
  72. mira.set_colorkey((255,255,255))
  73. text = "FUTURE CAOS"
  74. mensaje = fuente.render(text, 2, (255, 0, 0))
  75. gato = mouse()
  76. salida = salir()
  77. minijuego=minijuegos()
  78.  
  79. # coor seran las coordenadas de los disparos circulos negros
  80. coor={}
  81.        n=0
  82. creditos = credito()
  83.        jugkar=opcionz()
  84. # cuando dispara se vuelve verdadero y si ademas lleva 10 bucles o frames n=10 pone la mira como antes del disparo
  85.        xsd=False
  86.        color= (0,0,0)
  87.        reloj = pygame.time.Clock()
  88.  
  89.  
  90. while 1:
  91.  # esta parte es para producir el efecto de la mira en movimiento por el disparo
  92.                  n+=1
  93.                  if n == 10 and xsd == True:
  94.                          gato.rect.centery+=10
  95.                          xsd=False
  96.  jugkar.colision(gato)
  97.        salida.colision(gato)
  98.  creditos.colision(gato)
  99.  minijuego.colision(gato)
  100.  pos_mouse = pygame.mouse.get_pos()
  101.  mov_mouse = pygame.mouse.get_rel()
  102.  click = pygame.mouse.get_pressed()
  103.                  # el mouse se vuelve invisible y puedo poner un objeto como la mira
  104.              pygame.mouse.set_visible(0)
  105.  for event in pygame.event.get():
  106.    if event.type == pygame.QUIT:
  107.    sys.exit(0)
  108.  if mov_mouse[0] !=0:  
  109.                          gato.rect.centerx=pos_mouse[0]
  110.                          gato.rect.centery=pos_mouse[1]
  111.                  if click[0] != 0:
  112.   if reloj.tick() > 250:
  113.                           pygame.mixer.init()
  114.               pygame.mixer.music.load("mg42_shoot.wav")
  115.                                 pygame.mixer.music.play()
  116.  
  117.                                 jax = pos_mouse[0]
  118.   jay = pos_mouse[1]
  119.   coor[n]=(jax,jay)
  120.                                 # esta parte es para producir el efecto de la mira en movimiento por el disparo
  121.   gato.rect.centery -=10
  122.   xsd=True
  123.   n=0
  124.  # el centro de la mira es quien se encarga de  las colisiones ese es el sprite, estas coordenadas centran la mira  al centro de la mira
  125.  mirax = gato.rect.centerx - 24
  126.  miray=gato.rect.centery - 25
  127.          pantalla.blit(fondo,(0,0))
  128.          pantalla.blit(mensaje,(100,20))
  129.          pantalla.blit(gato.img,(gato.rect))
  130.  pantalla.blit(jugkar.img,(jugkar.rect))
  131.  pantalla.blit(salida.img,(salida.rect))
  132.  pantalla.blit(minijuego.img,(minijuego.rect))
  133.  pantalla.blit(creditos.img,(creditos.rect))
  134.  pantalla.blit(mira,(mirax,miray))
  135.  # cada disparo crea una lista con las coordenadas del disparo en el diccionario
  136.  for dispa in coor:
  137. disparo = coor[dispa]
  138.                   pygame.draw.circle(pantalla, color, (disparo[0],disparo[1]),4,0)
  139.                  pygame.display.flip()
  140.  

hola.py
Código
  1. # vim: set fileencoding=utf-8 :
  2. import pygame
  3. from pygame.locals import *
  4. import os
  5. import sys
  6. import fgh
  7.  
  8.  
  9.  
  10. class mouse(pygame.sprite.Sprite):
  11.        def __init__(self):
  12. #clase de la mira que interactuara con el menu o texto
  13.                pygame.sprite.Sprite.__init__(self)
  14.                self.img = pygame.image.load("centromira.png")
  15.                # desaparece todo lo blanco y lo hace tranparente
  16.                self.rect = self.img.get_rect()
  17.                self.rect.centerx=250
  18. self.rect.centery=270
  19. class atras(pygame.sprite.Sprite):
  20. def __init__(self):
  21. pygame.sprite.Sprite.__init__(self)
  22. self.img=pygame.image.load("atras.png")
  23. self.rect=self.img.get_rect()
  24. self.rect.centerx=70
  25. self.rect.centery=430
  26. def colision(self,objeto):
  27. if self.rect.colliderect(objeto.rect):
  28. fgh.main()
  29.  
  30. def main():
  31. pygame.init()
  32. pantalla = pygame.display.set_mode((480,457),0)
  33. pygame.display.set_caption("future caos")
  34. letra = pygame.font.Font("Death.ttf",40)
  35. fondo = pygame.image.load("zombies.jpg")
  36. mira = pygame.image.load("mira.bmp")
  37. mira.set_colorkey((255,255,255))
  38.        text = "Daryo"
  39. text2 = "Creditos"
  40. text3 = "XXXX"
  41. gato = mouse()
  42. mensaje = letra.render(text, 2, (255, 0, 0))
  43. mensaje2 = letra.render(text2, 2, (255, 0, 0))
  44. mensaje3 = letra.render(text3, 2, (255, 0, 0))
  45. baja = 100
  46. reloj = pygame.time.Clock()
  47. coor={}
  48. n=0
  49. xsd=False
  50. color= (0,0,0)
  51. salida=atras()
  52. while 1:
  53. n+=1
  54. if n == 10 and xsd == True:
  55. gato.rect.centery+=10
  56. xsd=False
  57. pos_mouse = pygame.mouse.get_pos()
  58. mov_mouse = pygame.mouse.get_rel()
  59. click = pygame.mouse.get_pressed()
  60. if mov_mouse[0] !=0:  
  61.                          gato.rect.centerx=pos_mouse[0]
  62.                          gato.rect.centery=pos_mouse[1]
  63. if click[0] != 0:
  64. if reloj.tick() > 250:
  65. pygame.mixer.init()
  66.               pygame.mixer.music.load("mg42_shoot.wav")
  67.                                pygame.mixer.music.play()
  68.                                jax = pos_mouse[0]
  69.   jay = pos_mouse[1]
  70.   coor[n]=(jax,jay)
  71. salida.colision(gato)
  72.                                # esta parte es para producir el efecto de la mira en movimiento por el disparo
  73.   gato.rect.centery -=10
  74.   xsd=True
  75.   n=0
  76. for event in pygame.event.get():
  77. if event.type == pygame.QUIT:
  78. sys.exit(0)
  79. if baja <= 500:
  80. baja +=0.2
  81. else:
  82. baja=100
  83. mirax = gato.rect.centerx - 24
  84. miray=gato.rect.centery - 25
  85. pantalla.blit(fondo,(0,0))
  86. pantalla.blit(mensaje2,(170,10))
  87. if baja <= 350:
  88. pantalla.blit(mensaje,(100,baja))
  89. pantalla.blit(mensaje3,(100,baja-50))
  90. pantalla.blit(salida.img,(salida.rect))
  91. pantalla.blit(gato.img,(gato.rect))
  92. pantalla.blit(mira,(mirax,miray))
  93. for dispa in coor:
  94. disparo = coor[dispa]
  95. pygame.draw.circle(pantalla, color, (disparo[0],disparo[1]),4,0)
  96. pygame.display.flip()