Created
August 19, 2013 12:58
-
-
Save depado/6268838 to your computer and use it in GitHub Desktop.
Correction
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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