Skip to content

Instantly share code, notes, and snippets.

@Depado
Created August 19, 2013 12:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Depado/6268838 to your computer and use it in GitHub Desktop.
Save Depado/6268838 to your computer and use it in GitHub Desktop.
Correction
import pygame
from pygame.locals import *
from tkinter import *
from constantes import *
# Déjà, pourquoi tu créé une fenêtre avec Tkinter alors que Pygame sait très bien le faire ?
# On crée une fenêtre, racine de notre interface
fenetre = Tk()
fenetre.title('Launcher Veneficus Legend 1.0 ')
fenetre.geometry('500x500')
champ_label = Label(fenetre, text="Bienvenue dans Veneficus Legend. \n \n \n \n Ce jeu a été créer par Everyatis et MAWYO. \n vous devrez déplacer votre personnage dans toutes sortes de donjons, \n rammasser des objets, \n vaincre des monstres \n ou améliorer vos armes. \n Dans un seul but : découvrir votre propre véritée. \n Ce Projet a été comencé le 08/07/2013 \n \n \n \n \n \n \n \n \n © copyright 2013")
bouton_quitter = Button(fenetre, text="Lancer le jeu", command=fenetre.quit)
bouton_quitter.pack()
champ_label.pack()
fenetre.mainloop()
pygame.init()
class hero(pygame.sprite.Sprite):
def __init__(self):
# Ici tu avais mis simplement le fichier à charger.
self.image_face = pygame.image.load("images/perso_face.png").convert_alpha()
self.image_left = pygame.image.load("images/perso_left.png").convert_alpha()
self.image_right = pygame.image.load("images/perso_right.png").convert_alpha()
self.image_back = pygame.image.load("images/perso_back.png").convert_alpha
# C'est très bien de déclarer les images utilisées mais
# tu ne déclares jamais l'image qui doit être affichée :
self.image = self.image_face
self.position = pygame.Rect(27, 32, 100, 100)
hero = hero()
#Ouverture de la fenêtre Pygame
fenetre = pygame.display.set_mode((640, 480))
#Personnalisation du jeu
icone = pygame.image.load(image_icone)
pygame.display.set_icon(icone)
pygame.display.set_caption(titre_fenetre)
#Chargement et collage du fond
fond = pygame.image.load(image_accueil).convert()
fenetre.blit(fond, (0,0))
pygame.display.flip()
mur1 = pygame.Rect(50, 50, 300, 300)
mescollisions = [mur1]
#son
son = pygame.mixer.Sound(SAN_1)
son.play()
resterac = True
while resterac:
for event in pygame.event.get():
if event.type == QUIT:
resterac = False
if event.type == KEYDOWN:
if event.key == K_SPACE:
fond = pygame.image.load(n_1).convert()
fenetre.blit(fond, (0,0))
jeu = True
#Création du personnage
# Pourquoi charger encore une fois l'image ?
# hero = pygame.image.load(hero.image_face).convert_alpha()
# Pour quoi faire ?
# position_hero = hero.get_rect()
fenetre.blit(fond, (0,0))
fenetre.blit(hero.image, hero.positon)
pygame.key.set_repeat(1, 35)
pygame.display.flip()
#Boucle jeu
while jeu:
for event in pygame.event.get():
if event.type == QUIT:
jeu = False
if event.type == KEYDOWN:
if hero.collidelist(mescollisions) == -1:
# Donc en cas de collision... Ton héro ne bouge pas ?
# Ce n'est pas bon de placer ça là car une fois qu'il entrera
# en collision tu ne pourra plus du tout le bouger.
# Je te laisse chercher.
position_hero = position_hero.move(0,0)
else:
if event.key == K_w:
# C'est beaucoup plus simple que d'utiliser Move je crois...
hero.position.y += 10
# Tu vas perdre ENORMEMENT de performances en chargeant l'image
# a chaque tour de boucle. L'image est chargée une fois, point barre.
hero.image = hero.image_back
# On n'est pas dans l'affichage ici, ce n'est pas la peine
# de blitter ton personnage avant de blitter le fond...
# fenetre.blit(hero, position_hero)
elif event.key == K_s:
# Je ne suis pas sur des directions, alors je te laisse regarder
hero.position.y -= 10
hero.image = hero.image_face
elif event.key == K_a:
hero.position.x -= 10
hero.image = hero.image_left
elif event.key == K_d:
hero.position += 10
hero = hero.image_right
fenetre.blit(fond, (0,0))
# Ici tu veux afficher l'IMAGE de ton personnage
# aux coordonnées de ton personnage
fenetre.blit(hero.image, hero.position)
pygame.display.flip()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment