12 respuestas

  1. Debianitram
    05/10/2010

    Mirá, tengo el siguiente error y no lo puedo solucionar.
    bash-4.0$ python main.py
    Traceback (most recent call last):
    File "main.py", line 17, in
    main()
    File "main.py", line 13, in main
    dir.loop()
    File "/home/martin/PyAprendizaje/Pygame/Arkanoid/director.py", line 50, in loop
    self.scene.on_event()
    File "/home/martin/PyAprendizaje/Pygame/Arkanoid/scene_game.py", line 28, in on_event
    self.pallet.update(2, self.time)
    AttributeError: SceneGame instance has no attribute 'time'

    Estoy atascado allí. :S

  2. Debianitram
    05/10/2010

    listo, lo pude solucionar. Resulta que en la clase Director no se realizó la llamada a la función on_update().

    	def loop(self):
    		"""Pone en funcionamiento el juego"""
    
    		while not self.quit_flag:
    			self.time = self.clock.tick(60)
    
    			# Eventos
    			for event in pygame.event.get():
    				if event.type == pygame.QUIT:
    					self.quit()
    				if event.type == pygame.KEYDOWN:
    					if event.key == pygame.K_ESCAPE:
    						self.quit()
    
    			# actualiza la escena
    			self.scene.on_update #Aquí el error.
    
    			# detecta eventos
    			self.scene.on_event()
    
    			# dibuja la pantalla
    			self.scene.on_draw(self.screen)
    			pygame.display.flip()
    
  3. julian9512
    29/03/2011

    Disculpa python me dice = “Global name ‘Pallet’ is not defined” ( refiriendose al comando –>self.pallet = Pallet())
    ¿Por qué puede ser esto?

  4. adrigm
    29/03/2011

    Si no veo, tu código no te puedo ayudar. Subelo a pastebin o algo similar y pon el enlace, si no es muy largo pues ponerlo aquí mismo con las etiquetas: [ python ] code [ python ] Sin los espacios.

  5. julian9512
    29/03/2011
    # -*- encoding: utf-8 -*- 
    
    import scene
    import config
    import graphics
    
     
    
    class SceneGame(scene.Scene):    
    	"""Escena inicial del juego, esta es la primera que se carga cuando inicia"""     
    
    	def __init__(self, director):        
    		scene.Scene.__init__(self, director)
    		self.back = graphics.load_image(config.menus+"back_game.png")
    		self.pallet = Pallet()
    	
    	def on_update(self):        
    		self.time = self.director.time     
    
    	def on_event(self):        
    		keys = pygame.key.get_pressed()        
    		if keys[pygame.K_LEFT]:            
    			self.pallet.update(1, self.time)        
    		if keys[pygame.K_RIGHT]:            
    			self.pallet.update(2, self.time)
    	
    	def on_draw(self, screen):        
    		screen.blit(self.back, (0, 0))
    		self.pallet.draw(screen)
    
  6. julian9512
    29/03/2011

    Me equivoque con el “code…” pero igual creo que se entiende…excepto por los espacios

  7. adrigm
    29/03/2011

    ¿Tienes la clase Pallet creada? Si es así y la tienes en otro archivo te falta el import en la parte superior:

    import sp_pallet
    

    así tendrias que llamarla de la siguiente manera:

    sp_pallet.Pallet()
    

    Para llamarla a tu manera tendrías que hacer

    from sp_pallet import Pellet
    
  8. julian9512
    29/03/2011

    Ignora el anterior comentario me re-equivoque.

  9. julian9512
    29/03/2011

    ya lo coloque pero me sigue saliendo el mismo error

  10. julian9512
    29/03/2011

    Perdon ahora el error refiere a “pygame” de “keys = pygame.key_get…”

  11. adrigm
    29/03/2011

    Pues lo mismo

    import pygame
    
  12. julian9512
    29/03/2011

    Muchas gracias, perdona si te moleste mucho con estas equivocaciones estupidas, soy nuevo en esto de python y pygame, y todavia no puedo identificar ciertos errores por mi cuenta.

Responder

 

 

 

Volver arriba
móvil escritorio