代码为codergopher

问题描述 投票:-1回答:1

我不知道出了什么问题。我在视频上做的和你一样。我的代码如下:

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。您的视频非常有用,如果您修复我的代码,我会打得很像;)

python-3.x
1个回答
0
投票

问题似乎是playerClass更新函数使用pass关键字,它什么都不做。如果你取出你调用playerObject.update()函数的第28行,代码应该运行。或者您可以在更新函数中添加一个主体,以便更新功能可以执行某些操作。

© www.soinside.com 2019 - 2024. All rights reserved.