begin process at 2010 09 08 23:56:30
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Python

 > 

Divers

 > 

Débutant(e)

 > 

Jeu saccadé: Timer ? Thread? sous python.


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Jeu saccadé: Timer ? Thread? sous python.

jeudi 15 avril 2010 à 20:11:32 | Jeu saccadé: Timer ? Thread? sous python.

Linkey

Bonjour,
Je débute sous python.
J'essaie de créer un jeu Space Invader pour apprendre à utiliser Pygame.
J'utilise une main loop pour détecter toutes les touches tapées par l'utilisateur, mais je l'utilise aussi pour faire bouger les vaisseaux spatiaux ennemis.

Problème: à chaque fois que le joueur bouge, que les ennemis bougent ou que le tir d'un deux bouge, je doit rafraichir le fond d'écran et tous les vaisseaux. Forcément sa saccade, au bout de deux tirs les vaisseaux ennemis ne bougent plus.

D'où ma question:
Existe -t- il une possibilité de timer ou thread sous Python qui permettrait d'exécuter des taches en arrière plan (faire bouger les ennemis) sans ralentir mon jeux.
Ou bien, est ce que je n'optimise pas suffisamment mon programme ?

Merci.

Main loop:

Code Python :
    while inGame:

        count = count +1
        
#------ displaying player ship
        move(clavier()) # détection des controles
#--------- end

#----- displaying computers ships
        if(Computer.loose == False):

            if (count%170)==0:
                Computer.moveAll(width)
                screen.blit(background,backgroundRect)
                for x in Computer.ships:
                    screen.blit(x.image, x.rect )
                screen.blit(Comica.image, Comica.rect)
                count = 1
#-------- end

#---- shooting display
            if shooted == 1:
                for x2 in shoots:
                    screen.blit(x2.image,x2.rect)
                    if ((x2.test == True) & ((count%25)==0)):
                        screen.blit(background, backgroundRect )
                        for x in Computer.ships:
                            screen.blit(x.image, x.rect )
                        screen.blit(Comica.image, Comica.rect)
                        x2.Continue(Computer)
                    elif(x2.test == False):
                        shoots.remove(x2)
#----------end    
        else:
        #---- lost...
            inGame = False
            screen.blit(Computer.image, Computer.rect )
           
        pygame.display.update()
samedi 1 mai 2010 à 23:38:02 | Re : Jeu saccadé: Timer ? Thread? sous python.

didoux95

Bonjour,

Il existe un module threading qui te permet d'exécuter une fonction dans un thread. J'en ai eu besoins avec Tkinter. Voilà comment j'ai fais :

Code Python :
import threading
threading.Thread(None, myFunction, None, (), {}).start()


Plus généralement ce donne cela :
threading.Thread(group=None, target=None, name=None, args=(), kwargs={})
=> group = ?
=> target = le nom de ta fonction à exécuter dans un Thread
=> name = le nom de ton Thread
=> args = les arguments de ta fonction
=> kwargs = ?



Cette discussion est classée dans : image, computer, screen, blit, x2


Répondre à ce message

Sujets en rapport avec ce message

Association d'image [ par DoudouBidou ] Bonjour, j'ai une application qui utilise Python (jusque là tout va bien) et wxPython je voudrais savoir s'il est possible (sans utiliser PIL) de com Enregistrer une image [ par misteraoul ] Je suis désolé mais je ne trouve nul part comment faire pour enregistrer un caneva sous Tkinter en image bmp Est ce que c'est possible ? Si oui comm modifier les metadonnées [ par airod ] Je cherche a etre mis sur la voie. Comment peut on editer les champs IPTC (métadonnées) propre a une image? Faut il lire le fichier image comme simpl Importer une image dans Tkinter... [ par skools ] Bonjour à tous, Et pardon à ceux à qui j'ai envoyé des messages perso, je n'arrivais pas à poster un suget dans le forum... Voilà, après des heures d envoie d image sur le réseau [ par amina22 ] bonjour,je veux savoir si on peut envoyer  des fichiers (audio,vidéo,image..) a travers le réseau en utilisant la communication client/serveur(socket) Créer une image à partir d'un canvas [ par gaulthier ] Salut,comment peut-on créer une image (jpg de préférence) a partir du contenu d'un canvas?J'utilise PIL.Merci d'avance pour vos réponses! Pop-up personnalisé [ par Lacro59 ] Bonjour, En regardant un peu les différentes documentations sur wx.TaskBarIcon et wx.Menu pour la création d'un menu pop-up, je me demandais si :- il Cacher une image [ par akkuciha ] Bonjour à tous, Le but de mon application est de trouver l'image "Question" parmis les images "réponses" possibles.J'ai une zone d'image faite avec gl chargement d'une image [ par panthere007 ] Hellohello je voudrai mettre une image de fond dans une fenêtre (caneva ?) pour ensuite placer mes control par dessus j'ai pas mal chercher mai on dir Tkinter et changment d'image [ par vega95 ] Bonjour,j'ai écrit le code suivant pour afficher une image à l'accueil en attendant le début du programme. Une fois le bouton b1 enfoncé, je voudrais


Nos sponsors


Sondage...

CalendriCode

Septembre 2010
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
27282930   

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,281 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales