当我尝试使用变量制作形状时,我不断收到此错误消息:

“TypeError:预期为整数参数,浮点数”

import pygame._view
import pygame, sys
from pygame.locals import *
import random

pygame.init()

...
barrel = pygame.image.load("images\Barrel.gif")
barrel_create = 0
barrelx = screen.get_height()- barrel.get_height()
barrely = screen.get_width()/2 - barrel.get_width()/2
barrel_exist = 0
explosion_delay = 0

...
while running:

    if barrel_exist == 0:
        if barrel_create == 500:
            barrely = 200
        barrelx = random.randint(0,400)
        barrel_exist = 1
    if barrel_exist == 1:
        barrely = barrely + 0.1
        if barrely > 400:
            barrel_exist = 0

    if explosion_delay > 0:
        pygame.draw.circle(screen, (0,255,0), (barrelx, barrely), 64, 0)
    explosion_delay = explosion_delay + 1

    if explosion_delay == 100:
    explosion_delay = 0

当枪管被“射击”时,exploit_delay> 0。

最佳答案

barrely = barrely + 0.1
由于此行,barrely在某些时候必须是浮点数。

我认为您应该按照功能要求将pygame.draw.circle(screen, (0,255,0), (int(barrelx), int(barrely)), 64, 0)截断为整数。

关于python - 不能在pygame.draw.circle中使用变量?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7462958/

10-10 10:29