Bonjour à tous, voilà je ne comprends pas je suis sur ce tutoriel là : http://www.pygame.org/docs/tut/MoveIt.html
Et on me demande d'utiliser la fonction "create_graphics_screen()", ils ne disent pas à qui appartient cette fonction mais j'ai supposé qu'elle appartenait à pygame. Donc je lance IDLE, je tape ces lignes :
Traceback (most recent call last):
File "<pyshell#4>", line 1, in <module>
screen = pygame.create_graphics_screen()
AttributeError: 'module' object has no attribute 'create_graphics_screen'
J'ai du oublié quelque chose, ou j'ai du faire une boulette, mais je vois pas vraiment laquelle.
A propos j'utilise pygame 1.9 pour python 3.1, sous windows 7 32bits.
Et, j'aurais une question, pourquoi à chaque fois que j'initialise, il me renvoit "(6, 0)"
Et si quelqu'un peut m'aider à comprendre un peu ce code :
>>> background = [terrain1, terrain1, terrain2, terrain2, terrain2, terrain1]
>>> screen = create_graphics_screen()
>>> for i in range(6):
... screen.blit(background[i], (i*10, 0))
>>> playerpos = 3
>>> screen.blit(playerimage, (playerpos*10, 0))
Je ne comprends pas, il ne précise pas à quoi sont égales ces variables ( terrain1 et terrain2 ) et... Le tutoriel étant en anglais, pourquoi ces noms sont en français?...
En fait le but de screen est de créer une surface et dans l'exemple si je ne me trompe pas c'est un genre de loin d'algo pour te faire comprendre les choses.
En effet cette fois ci le code ne bug pas, enfaite il m'ouvre une fenêtre qui elle, bug, mais ça doit être normal, tu peux m'éclaircir sur les deux autres questions ou pas s'il te plaît ? C'est juste de la curiosité
EDIT : Enfaite, même si le code ne bug pas, la fenêtre bug et relance IDLE, donc le code revient à 0, ce qui ne me permets pas d'avancer dans le tutoriel >.>'
(6,0) ==> 6 modules initialisés, 0 echec.
vraisemblablement, terrainX sont des surfaces et 'terrain' existe en anglais, beaucoup de mots français existent en anglais mais sont peu usités.
je pense que tu devrais commencer par un tuto en français.
je pense que realmagma voulait faire un equivalent graphique du raw_input()...
Ah ok, j'aurais fais comme ça
import pygame
pygame.init()
lecran=pygame.display.set_mode((640,480))
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
break
pygame.quit()
Et je pense qu'il y a une erreur au niveau de la ligne 12 d'ailleurs
Tant de réponse
Tout d'abord merci à tous, mais vos solutions sous entendent que je dois enregistrer le code dans un fichier .py
Sinon, je suis tout à fait apte de commencer par un tutoriel en anglais ( à mon goût ), j'avoue me pas être pris la tête pour terrain, j'ai taper "traduction terrain" sur google et il m'a renvoyé une traduction anglaise, en gros, comme si le mot était français, et j'ai pas chercher plus loin.
Vous m'avez donné tout plein de code
Sinon ben oui je l'ai fais, j'ai enregistrer le tout dans un fichier .py et ça marche, le seul hic c'est que j'ai été obligé d'aller dans le gestionnaire des tâches et de directement arrêter le processus pour fermer la fenêtre, enfin, merci, mais, vous pensez que le tutoriel continuera à me faire des crasses de ce genre ? Où je pourrais pas utiliser les fonctions :S
Parce que si je reviens vous voir à chaque fois qu'il utilise une fonction... Enfin ça, je pense que seul le temps nous le dira
Sinon ben oui je l'ai fais, j'ai enregistrer le tout dans un fichier .py et ça marche, le seul hic c'est que j'ai été obligé d'aller dans le gestionnaire des tâches et de directement arrêter le processus pour fermer la fenêtre
Le pygame.quit() te permet de quitter la fenêtre pygame, je ne vois pas le problème.
Moi non plus je ne vois pas le problème, mais après tout il est là, enfin, en sois c'est pas mortel, je m'occuperai de ce problème une autre fois, d'abord le tutoriel
C'est du à tkinter (IDLE) je crois bien. Ces deux GUI ne sont pas vraiment compatibles...
En faite, le vrai problème c'est IDLE. Quand on veut développer un petit (ou gros) programme en GUI dans une fenêtre d'édition de script d'IDLE, il est préférable de ne pas tester le script en le lançant de cette fenêtre (F5).
>>> import pygame
>>> pygame.init() # 'Python' apparait dans mon dock, avec comme icône le logo PyGame
... (6, 0)
>>> screen = pygame.display.set_mode((500, 500)) # La, ma fenêtre apparait sans problème
>>> pygame.quit() # Ma fenêtre disparait, mais 'Python' reste actif (et planté)
LeYan'tibus => Que veux tu dire ? IDLE utilise Tkinter ?
Raté, le problème ne vient pas d'IDLE : mon code plante aussi à partir du Terminal. Par contre, il y une différence au niveau des messages... Avec le Terminal, j'ai :
>>> import pygame
>>> pygame.init()
(6, 0)
>>> screen = pygame.display.set_mode((500, 500)) # En fait, c'est à partir de là que ça plante O.o
2010-10-10 21:18:56.618 Python[700:60f] Warning once: This application, or a library it uses, is using NSQuickDrawView, which has been deprecated. Apps should cease use of QuickDraw and move to Quartz.
>>> pygame.quit()
... Et le code ne plante pas. (EDIT : Ah si, mais pas imédiatement >.<)
Le problème vient du fait d'affecter la fenêtre à une variable ? Je n'ai pas vraiment compris le message d'avertissement que python m'a renvoyé, un truc déprécié ou je ne sais quoi, quelqu'un peut m'expliquer ?
Tu peux éditer ton script avec IDLE, mais lorsque tu veux le tester, tu l'enregistre (ctrl+s) et puis tu double clic sur le fichier ou tu l'exécute depuis le terminal.
Darko', t'inquiète... Maintenant que tu l'a bousculé une première fois, ça devrait bien ce passer à l'avenir... (j'ai pas d'meilleurs explications pour le moment )
[edit] C'est juste une information. Il te dit juste que tu ne pourra pas utiliser la methode 'machin' parce qu'elle n'est plus dispo et que tu devra préférer la méthode 'truc'
vous êtes tous 2 sous windows 7 ? ... aucun problème sous linux.
et essayé sous python 2.6 ?
au fait, pygame.init() c'est pas une obligation, sauf si on utilise time.get_ticks().
init() rallonge la fermeture de pygame.
la plupart des autres modules peuvent s'init() séparément, ex: pygame.font.init().
J'ai pas encore testé et je peux pas actuellement mais tu es sûr que je peux taper mon code dans IDLE et qu'en le testant avec un double clique ça marchera ?
C'est dommage mais c'est pas pire qu'avec Qt en C++
EDIT : Bon voilà finalement ça bug toujours, j'ai pourtant enregistrer en fichier .py, pas interprêter avec IDLE, mais j'ai fermer et double cliquer sur le fichier : le bug est exactement le même
EDIT2 : enfaite c'est le code qui doit avoir une fail, car quand j'enlève la boucle, il se ferme bien comme prévu, donc je pense qu'enfaite le programme ne quitte simplement jamais la boucle
[Pygame] Problème avec fonction du tutoriel
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Python c'est bon, mangez-en.
Python c'est bon, mangez-en.
Python c'est bon, mangez-en.
Python c'est bon, mangez-en.