HeyGuys! Ich bin gerade dieser Seite beigetreten, also gehen Sie ruhig mit mir um, wie ich über diese Frage vorgehe.Pygame Sprites Fehler?
Also habe ich vor kurzem begonnen, mit PyGames herumzuspielen und ein paar Tests mit den pygame.sprite.Sprite-Modulen durchgeführt. Hier ist mein Code:
#Game
import pygame
pygame.init()
screen_width, screen_height = 800, 600
screen = pygame.display.set_mode((screen_width,screen_height))
clock = pygame.time.Clock()
black = (0,0,0)
white = (255,255,255)
red = (255,0,0)
green = (0,255,0)
blue = (0,0,255)
class Block(pygame.sprite.Sprite):
def __init__(self, block_color = white, block_width = 64, block_height = 64):
super(Block, self).__init__()
self.image = pygame.Surface((block_width, block_height))
self.image.fill(block_color)
self.rect = self.image.get_rect()
def set_position(self, x, y):
self.rect.x = x
self.rect.y = y
def change_color(self, color):
self.image.fill(color)
def load_image(self, url):
self.image = pygame.image.load(url)
self.rect = self.image.get_rect()
block_group = pygame.sprite.Group()
a_block = Block(green)
b_block = Block(red)
c_block = Block(blue)
d_block = Block()
a_block.set_position(0,0)
b_block.set_position(0,64)
c_block.set_position(64,0)
d_block.set_position(64,64)
d_block.load_image("brick.png")
block_group.add(a_block,b_block,c_block,d_block)
running = True
while running:
screen.fill(black)
block_group.draw(screen)
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
quit()
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_ESCAPE:
pygame.quit()
quit()
pygame.display.update()
clock.tick(10)
Wie Sie vielleicht schon entnehmen kann, wollte ich this schaffen, sondern stattdessen this zu bekommen, die beide falsch sind. Das Merkwürdige ist, dass jedes Mal, wenn ich die Datei starte, # 1 und # 2 ohne Muster gezeichnet werden, also frage ich mich, ob es etwas damit zu tun hat, wie ich den Bildschirm in meiner laufenden while-Schleife aktualisiere .
Irgendwelche Gedanken, wie ich das beheben kann? Vielen Dank im Voraus und ich hoffe, diese Seite öfter zu benutzen!
Danke für die aufschlussreiche Antwort, jetzt funktioniert mein Code wie ich wollte: ^). – Yourchingoo
Ich bin froh, dass ich helfen und StackOverflow willkommen heißen kann! Wenn dies Ihr Problem löste, könnten Sie diese Antwort als die richtige Antwort mit dem Häkchen akzeptieren, damit andere wissen, dass Ihr Problem gelöst wurde. :) – Isa
gotchyu breh .... – Yourchingoo