Comment ajouter une image d'arrière-plan dans pygame?
nouveau à pygame me demandais comment j'allais sur l'ajout d'une image de fond dans le jeu lui-même? c'est mon code pour l'instant, j'ai été en utilisant le bg comme un moyen d'importer mon image mais le py fichier lui-même refuse de charger jusqu'à.
import pygame
import sys
from pygame.locals import *
clock = pygame.time.Clock()
screen = pygame.display.set_mode((600,500))
bg = pygame.image.load("images\space.png")
pygame.mouse.set_visible(0)
ship = pygame.image.load("images\ship.png")
ship_top = screen.get_height() - ship.get_height()
ship_left = screen.get_width()/2 - ship.get_width()/2
screen.blit(ship, (ship_left,ship_top))
shot = pygame.image.load("images\shot.png")
shoot_y = 0
pygame.display.set_caption('galaxy invaders')
while True:
clock.tick(60)
screen.fill((r,0,0))
screen.blit(bg.(0,0))
x,y = pygame.mouse.get_pos()
screen.blit(ship, (x-ship.get_width()/2, ship_top))
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
elif event.type == MOUSEBUTTONDOWN:
shoot_y = 500
shoot_x = x
if shoot_y > 0:
screen.blit(shot, (shoot_x, shoot_y))
shoot_y -= 10
pygame.display.update()
OriginalL'auteur jy95 | 2015-01-17
Vous devez vous connecter pour publier un commentaire.
Ce problème peut être facilement résolu. Vous aurez besoin d'une image de la taille de votre écran pour votre arrière-plan. Veuillez ne pas oublier d'ajouter
pygame.init()
au début de votre jeu pour être en mesure de commencer et de ses capacités. Une fonction pour cette image peut être utilisée comme ceci:Cela permettra au programme pour charger votre image par le biais de cette fonction quand vous l'appelez comme ceci:
Et vous aurez également besoin de ces deux lignes dans votre
while
boucle:Cela remplira votre écran blanc et mettre l'image de fond sur elle, mais par vos autres sprites et les objets.
Suggestions:
Vous devriez faire une autre classe pour vos autres sprite (peut-être la raison pour laquelle l'image n'apparaît pas). Un exemple pourrait être:
Vous pourriez ensuite sur "activer" comme ceci:
De sélectionner les coordonnées pour
a
etb
. Vous pouvez ensuite blit l'image sur l'écran comme ça, mais après votre fond de blit déclaration:J'espère que cela vous aide!
OriginalL'auteur Anthony Pham
Pour le fond j'ai toujours une image à la taille de ma fenêtre de jeu ou plus petite que avant que toutes les images sont affichées, je blit l'image 0,0.
Espère que cette aide.
OriginalL'auteur HKVariant
Tout d'abord, aucun de ce travail parce que vous n'avez pas initialiser Pygame après l'importation. Aussi, les images pourraient ne pas être chargé en raison de la barre oblique indique une fuite seqeunce. Enfin, vous devez corriger votre indentation.
os
est encore plus adéquate et assure la fonctionnalité sur toutes les plateformes.Est-il quelque chose de mal avec ce code?
La barre oblique inverse est également une ligne de continuation de la séquence si aucun des caractères qui la suivent; il fonctionne sur mon Mac.
OriginalL'auteur Malik Brahimi