Foros - Stratos

Programadores => General Programadores => Mensaje iniciado por: Mindro en 23 de Marzo de 2008, 04:06:34 PM

Título: [Pygame] No se ejecuta este código
Publicado por: Mindro en 23 de Marzo de 2008, 04:06:34 PM
¡Buenas! Soy un aprendiz de Python & Pygame, y estoy empezando a programar, y este simple código no me funciona.

background_image_filename = 'fondo.png'
mouse_image_filename = 'imagen1.JPEG'

import pygame
from pygame.locals import *
from sys import exit

pygame.init()

screen = pygame.display.set_mode((620, 480), 0, 32)
pygame.display.set_caption("Hello, world")

background = pygame.image.load(background_image_filename).convert()
mouse_cursor = pygame.image.load(mouse_image_filename).convert_alpha()

while True:

for event in pygame.event.get()
if event.type == QUIT:
exit()


screen.blit(background, (0,0))

x, y = pygame.mouse.get_pos()
x-= mouse_cursor.get_width() / 2
y-= mouse_cursor,get_height() / 2
screen.blit(mouse_cursor, (x,y))

pygame.display.upadate()


Me resulta extraño, porque viene de un libro, y no sé porqué no funciona.

Gracias anticipadas
Título: [Pygame] No se ejecuta este código
Publicado por: Zaelsius en 23 de Marzo de 2008, 04:13:59 PM
Citarno me funciona

¿Podrías ser algo más concreto? ¿te da un error de ejecución o se ejecuta pero no muestra el resultado esperado?
Título: [Pygame] No se ejecuta este código
Publicado por: Mindro en 23 de Marzo de 2008, 06:49:11 PM
Pues se abre durante un milisegundo y se cierra :?
Título: [Pygame] No se ejecuta este código
Publicado por: Prompt en 23 de Marzo de 2008, 08:14:46 PM
Ejecutalo con una consola abierta no seas brutote! :)

No obstante, intuyo que ese while no tiene cierre, pero no se mucho sobre python... está bien el cierre?
Título: [Pygame] No se ejecuta este código
Publicado por: Zaelsius en 23 de Marzo de 2008, 08:33:20 PM
Haz como dice Prompt.. ejecuta el programa desde la consola (tanto si estás en Windows como en otro SO), tipo:

python mi_programa.py

Así podrás ver la salida de errores y ver porqué falla el programa (puede ser que salte alguna excepción al cargar los recursos, o que no tengas instalado correctamente el paquete pygame o alguna de sus dependencias).
Título: [Pygame] No se ejecuta este código
Publicado por: Mindro en 23 de Marzo de 2008, 08:44:52 PM
Cita de: "Prompt"Ejecutalo con una consola abierta no seas brutote! :)

Jeje, cierto, cierto :oops:

Utilizando SciTe, me da el siguiente error

>python -u "nuevo.py"
 File "nuevo.py", line 18
   for event in pygame.event.get()
                                 ^
SyntaxError: invalid syntax
>Exit code: 1
Título: [Pygame] No se ejecuta este código
Publicado por: Zaelsius en 23 de Marzo de 2008, 09:01:26 PM
Te faltan los dos puntos ( : ) al final de la sentencia for.
Título: [Pygame] No se ejecuta este código
Publicado por: Mindro en 23 de Marzo de 2008, 09:04:43 PM
Sí, me di cuenta, gracias :) Ahora funciona perfectamente. También es que había puesto

Citarpygame.display.upadate()
esa "a" sobraba.

Así quedaría finalmente:

background_image_filename = 'fondo.png'
mouse_image_filename = 'imagen1.png'

import pygame
from pygame.locals import *
from sys import exit

pygame.init()

screen = pygame.display.set_mode((533, 399), 0, 32)
pygame.display.set_caption("Hello, world")

background = pygame.image.load(background_image_filename).convert()
mouse_cursor = pygame.image.load(mouse_image_filename).convert_alpha()

while True:

   for event in pygame.event.get():
       if event.type == QUIT:
           exit()
       
       
   screen.blit(background, (0,0))
   
   x, y = pygame.mouse.get_pos()
   screen.blit(mouse_cursor, (x,y))
   
   pygame.display.update()


Gracias por la ayuda :D
Título: [Pygame] No se ejecuta este código
Publicado por: Prompt en 23 de Marzo de 2008, 10:23:41 PM
Me alegro que finalmente te funcione :P a programaaaaaaaaar !
Título: [Pygame] No se ejecuta este código
Publicado por: tamat en 23 de Marzo de 2008, 10:51:30 PM
Despues de leer este post me ha picado la curiosidad sobre pygame, pero veo que es una librería algo descuidada (no actualizan desde hace dos años) y que no funciona con python 2.5

Alguna alternativa interesante?
Título: [Pygame] No se ejecuta este código
Publicado por: Prompt en 24 de Marzo de 2008, 12:11:27 AM
pygame no se si es necesario actualizarla mucho, pero te haces juegos rapidisimo :)
Título: [Pygame] No se ejecuta este código
Publicado por: Zaelsius en 24 de Marzo de 2008, 01:07:14 AM
Qué pena que no vaya con Python 2.5.. aunque pygame nunca me gustó demasiado.

Para Ruby hay una librería del mismo "palo", se llama Gosu:

http://code.google.com/p/gosu/wiki/RubyTutorial

Aquí el tuto en castellano: http://cafeina.ladybenko.net/?p=485
Título: [Pygame] No se ejecuta este código
Publicado por: LC0 en 24 de Marzo de 2008, 09:10:57 AM
Eso que decís de que no está para Python 2.5 no es verdad en parte. Cierto es que Pygame está pensado y programado con Python 2.4, pero hay compatibilidad entre las dos versiones.
Vamos, a mi desde luego no me ha dado ningún problema cuando pasé del 2.4 al 2.5.
Título: [Pygame] No se ejecuta este código
Publicado por: Mindro en 24 de Marzo de 2008, 07:05:14 PM
Cita de: "LC0"Eso que decís de que no está para Python 2.5 no es verdad en parte. Cierto es que Pygame está pensado y programado con Python 2.4, pero hay compatibilidad entre las dos versiones.
Vamos, a mi desde luego no me ha dado ningún problema cuando pasé del 2.4 al 2.5.

Cierto, hay compatibilidad entre las dos versiones. O al menos eso he leído...
Título: [Pygame] No se ejecuta este código
Publicado por: ethernet en 24 de Marzo de 2008, 08:32:03 PM
Es lo que pasa con el software libre que hay veces que no funciona y otras que tampoco :).
Título: [Pygame] No se ejecuta este código
Publicado por: LC0 en 24 de Marzo de 2008, 11:21:35 PM
Citar
Es lo que pasa con el software libre que hay veces que no funciona y otras que tampoco :lol:

Morriña de los viejos flames, ¿no? :lol:

Que tiempos aquellos...
Título: [Pygame] No se ejecuta este código
Publicado por: ethernet en 25 de Marzo de 2008, 09:58:09 PM
Cita de: "LC0"
Citar
Es lo que pasa con el software libre que hay veces que no funciona y otras que tampoco :lol:

Morriña de los viejos flames, ¿no? :lol:

Que tiempos aquellos...

Jaja, ahora ya no es mi objetivo :P, ahora hablo con conocimiento de causa :)
Título: [Pygame] No se ejecuta este código
Publicado por: Mars Attacks en 03 de Abril de 2008, 10:22:06 PM
Vete al peo =***

Ahora luego pongo un post isométrico... cuando me termine los 69 mensajes que se han acumulado en dos o tres semanas. En 3DPoder tendré como 690, flojos, que sois unos flojos :D