0
Ich versuche, ein grundlegendes Kartenspiel mit PyGame zu machen. Ich versuche gerade eine einzelne Karte auf den Bildschirm zu zeichnen. Das Seltsame ist, manchmal wird es zeichnen und gelegentlich wird es nicht. Unten ist mein Code:PyGame Sprites Gelegentlich nicht Zeichnung
import pygame
from pygame.locals import *
from socket import *
import sys
import os
import math
import getopt
import random
def load_png(name) :
# Loads an image and returns the image object
fullname = os.path.join('/home/edge/Downloads/Playing Cards/PNG-cards-1.3', name)
image = pygame.image.load(fullname)
if image.get_alpha is None :
image = image.convert()
else :
image = image.convert_alpha()
return image, image.get_rect()
class Card(pygame.sprite.Sprite) :
def __init__(self, suit, val) :
pygame.sprite.Sprite.__init__(self)
self.suit = suit
self.val = val
self.image, self.rect = load_png(val + '_of_' + suit + '.png')
screen = pygame.display.get_surface()
self.area = screen.get_rect()
#self.rect.inflate(-.5, -.5)
def main() :
pygame.init()
pygame.display.set_caption('Card Game Thingy')
screen = pygame.display.set_mode((1250, 650))
background = pygame.Surface(screen.get_size())
background = background.convert()
background.fill((0, 0, 0))
x = Card('diamonds', '2')
cardSprite = pygame.sprite.RenderPlain(x)
screen.blit(background, (0, 0))
cardSprite.draw(screen)
clock = pygame.time.Clock()
# Game Loop
while True :
clock.tick(60)
for event in pygame.event.get() :
if event.type == QUIT :
return
elif event.type == KEYDOWN :
if event.key == K_DOWN :
return
cardSprite.draw(screen)
if __name__ == '__main__' :
main()
Können Sie beschreiben, was meinen Sie mit „gelegentlich wird es ziehen und es gelegentlich wird nicht "? Flackert es, oder meinst du jedes Mal, wenn du das Skript ausführst, wird es manchmal angezeigt, und manchmal nicht? – Steve
@Steve Es zeichnet entweder das Bild oder nicht, es gibt kein Flimmern (IE, letzteres). Ich habe experimentiert, um ein Ereignis zu zeichnen, und es funktioniert nie. Dies ist mein erster Versuch, etwas mit PyGame zu machen, aber ich kopiere den Code fast genau aus [link] ( – edge6768
), wenn image.get_alpha None ist (https://fr.wikibooks.org/wiki/Pygame/Tom's_Pong) 'sollte sein' wenn image.get_alpha() ist None' – cdonts