ดังนั้นฉันกำลังจะออกหัดเล่นออนไลน์เรื่อง pygame เหมือนฉันสอบใหม่เพื่อ pygame. ดังนั้นสิ่งที่เขาทำก็คือสร้างเครื่องเล่นฟังก์ชัน()และจากนั้น blit มัน ดังนั้นฉันก็ทำแบบเดียวกัน สำหรับเขาเขาจะถูก blitted แต่สำหรับฉันฉันเข้าใจรูปแบบข้อผิดพลาด สิ่งเดียวที่แตกต่างระหว่างของรหัสและของฉันคือมิติของหน้าต่างและเครื่องเล่นห้องและสี. ฉันพยายามค้นหามันอยู่ในกองเข็เอ่อล้นออกมาแต่คนเดียวที่เกี่ยวข้องถามคำถามคือไม่มีใครตอบกลับมา ไม่แน่ใจว่าเค้าจึงสั่งฆ่าพวกเราทั้งหมด
เต็มไปด้วเกิดข้อผิดพลาด:
/home/Command Blocks/Desktop/venv/bin/python "/home/CommandBlocks/Desktop/CLASS_/Studies/Computer/python/practice/space shooter/main.py"
pygame 2.0.2 (SDL 2.0.16, Python 3.9.5)
Hello from the pygame community. https://www.pygame.org/contribute.html
Traceback (most recent call last):
File "/home/Command Blocks/Desktop/CLASS_/Studies/Computer/python/practice/space shooter/main.py", line 33, in <module>
player()
File "/home/Command Blocks/Desktop/CLASS_/Studies/Computer/python/practice/space shooter/main.py", line 20, in player
screen.blit(player, (playerX, playerY))
TypeError: argument 1 must be pygame.Surface, not function
Process finished with exit code 1
เต็มไปด้วยรหัส:
import pygame
#Initialize pygame module
pygame.init()
#Create Screen
screen = pygame.display.set_mode((1000, 600))
#Title and Icon
pygame.display.set_caption("Jungle Invader")
icon = pygame.image.load('fox-sitting.png')
pygame.display.set_icon(icon)
# Player
player = pygame.image.load('cat.png')
playerX = 300
playerY = 500
def player():
screen.blit(player, (playerX, playerY))
#Main loop
running = True
while running:
pygame.display.update()
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
screen.fill((244, 232, 255))
player()