我不知道出了什么问题。我在视频上做的和你一样。我的代码如下:
import pygame
import time
import sys
from pygame import *
WIN_HEIGHT = 500
WIN_WIDTH = 500
red = (255,0,0)
green = (0,255,0)
DISPLAY = (WIN_WIDTH, WIN_HEIGHT)
DEPTH = 32
TIMER = pygame.time.Clock()
FLAGS = 0
pygame.init()
screen = pygame.display.set_mode(DISPLAY, DEPTH, FLAGS)
def main():
playerObject = playerClass(0, 0)
while 1==1:
TIMER.tick(60)
playerObject.update()
screen.fill(red)
pygame.display.update()
class entity(pygame.sprite.Sprite):
def __init__(self):
pygame.sprite.Sprite.__init__(self)
class playerClass(entity):
def __init__(self,x,y):
self.xvel = 0
self.yvel = 0
self.image = Surface((32,32))
self.image.fill(Color('#00FF32'))
self.image.convert()
self.rect = Rect(x, y, 32, 32)
def update():
pass
main()
如果你想了解更多,请问。我真的想在实践中学习pygame。您的视频非常有用,如果您修复我的代码,我会打得很像;)
问题似乎是playerClass更新函数使用pass关键字,它什么都不做。如果你取出你调用playerObject.update()函数的第28行,代码应该运行。或者您可以在更新函数中添加一个主体,以便更新功能可以执行某些操作。