我的抽奖不起作用?
My draw isn't working?
我正在尝试制作一款基本游戏,但我想知道为什么我在尝试绘制精灵时总是出现错误?任何帮助将不胜感激。
我的代码:
import pygame
import sys
import time
from time import sleep
import random
class sprite:
def __init__(self):
self.image = pygame.image.load(image1)
self.x = 50
self.y = 50
self.image.fill(255, 255, 0)
def background(self, surface):
self.image2 = pygame.image.load(white.png)
screen.blit(self.image2, (0,0))
def draw(self, surface):
screen.blit(self.image, (self.x, self.y))
screen = pygame.display.set_mode((1250, 500))
screen.fill((255,255,255))
sprite=sprite
while True:
pygame.init()
pygame.event.get()
pygame.event.pump
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sprite.draw(sprite)
我的错误:
Traceback (most recent call last):
File "C:/Users/camil/Desktop/Polar Bear/PB.py", line 43, in <module>
sprite.draw(sprite)
TypeError: draw() missing 1 required positional argument: 'surface'
您的第一个问题是您需要实际实例化 sprite
class。 sprite=sprite
行应该类似于 my_sprite = sprite()
,然后 my_sprite.draw(sprite)
而不是 sprite.draw(sprite)
。
但是,您的代码中还有其他问题。
在draw
函数中,surface
参数是不必要的。你应该这样做:
def draw(self):
screen.blit(self.image, (self.x, self.y))
然后 my_sprite.draw()
而不是 my_sprite.draw(sprite)
。
或者,您可以这样做:
def draw(self, surface):
surface.blit(self.image, (self.x, self.y))
和my_sprite.draw(screen)
,这也是有道理的。
我正在尝试制作一款基本游戏,但我想知道为什么我在尝试绘制精灵时总是出现错误?任何帮助将不胜感激。
我的代码:
import pygame
import sys
import time
from time import sleep
import random
class sprite:
def __init__(self):
self.image = pygame.image.load(image1)
self.x = 50
self.y = 50
self.image.fill(255, 255, 0)
def background(self, surface):
self.image2 = pygame.image.load(white.png)
screen.blit(self.image2, (0,0))
def draw(self, surface):
screen.blit(self.image, (self.x, self.y))
screen = pygame.display.set_mode((1250, 500))
screen.fill((255,255,255))
sprite=sprite
while True:
pygame.init()
pygame.event.get()
pygame.event.pump
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sprite.draw(sprite)
我的错误:
Traceback (most recent call last):
File "C:/Users/camil/Desktop/Polar Bear/PB.py", line 43, in <module>
sprite.draw(sprite)
TypeError: draw() missing 1 required positional argument: 'surface'
您的第一个问题是您需要实际实例化 sprite
class。 sprite=sprite
行应该类似于 my_sprite = sprite()
,然后 my_sprite.draw(sprite)
而不是 sprite.draw(sprite)
。
但是,您的代码中还有其他问题。
在draw
函数中,surface
参数是不必要的。你应该这样做:
def draw(self):
screen.blit(self.image, (self.x, self.y))
然后 my_sprite.draw()
而不是 my_sprite.draw(sprite)
。
或者,您可以这样做:
def draw(self, surface):
surface.blit(self.image, (self.x, self.y))
和my_sprite.draw(screen)
,这也是有道理的。