我是python/pygame的新手。我试图使一个球员移动精灵,但这个代码只是带来了一个黑色的pygame窗口没有精灵。它甚至不应该是黑色的,因为我写了窗户应该是白色的。请帮帮我。非常感谢。你知道吗
import pygame
import os, sys
import itertools
import pygame
import random
pygame.init()
screen = pygame.display.set_mode((640,400))
class killer(pygame.sprite.Sprite):
def _init_(self):
pygame.sprite.Sprite.__init__(self)
self.screen = screen
self.image = pygame.image.load("player.png")
self.image = self.image.convert()
self.rect = self.image.get_rect()
self.rect.center = (320, 400)
self.dx = 0
self.dy = 0
self.x = self.rect.centerx
self.y = self.rect.centery
def update(self):
self.CheckBounds()
def checkBounds(self):
screen = self.screen
if self.x > screen.get_width():
self.x = screen.get_width()
if self.x < 0:
self.x = 0
def handle_keys(self):
key = pygame.key.get_pressed()
dist = 1
if key[pygame.K_DOWN]: # down key
self.y += dist # move down
elif key[pygame.K_UP]: # up key
self.y -= dist # move up
if key[pygame.K_RIGHT]: # right key
self.x += dist # move right
elif key[pygame.K_LEFT]: # left key
self.x -= dist # move left
def draw(self,surface):
surface.blit(self.image, (self.x, self.y))
ZK = killer()
Clock = pygame.time.Clock()
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
running = False
ZK.handle_keys()
screen.fill((255,255,255))
ZK.draw(screen)
pygame.display.update()
clock.tick(40)
1.) 第11行:你有
应该是的
2.) 第65行:你有
应该是的
因为你在第50行把你的钟命名为“钟”
~只要改变这些错误,你就可以走了!~
您的代码充满了错误:
1.)压痕断裂
2.)
killer
从不运行初始值设定项,因为您将其命名为_init_
,而不是__init__
3.)没有名为
clock
的变量,因为您将其命名为Clock
4.)当您关闭窗口时,将引发一个错误,因为视频系统关闭后将调用
pygame.key.get_pressed
(因为您之前调用了pygame.quit
)解决这个问题,你的程序就会正常运行。你知道吗
相关问题 更多 >
编程相关推荐