[英]pygame.QUIT() - TypeError: 'int' object is not callable
[英]TypeError: 'int' object is not callable(Pygame)
我正在尝试在屏幕底部加载一个用于小平台游戏的地板。 我也是用这种方式做的,因此以后(我认为)仅将地面负荷放在摄像机中,而不是将其无限负荷。 我确实尝试找到一种解决方案,但是我没有提及“ N”作为功能,因此我不知道。 任何帮助或一般建议,不胜感激。 是的,我知道现在有一些无用的东西,但是我还没有解决它们(FPS,BASICFONT)
def drawTiles():
N = 0
while (N < tilesNeeded):
pygame.draw.rect(DISPLAYSURF, GREEN, (20(N), floorx, TILESIZE, TILESIZE))
pygame.draw.rect(DISPLAYSURF, LIGHTGREEN, ((TILESIZE/4) + (20(N)), (floorx + (TILESIZE/4)), TILESIZE / 2, TILESIZE / 2))
N = N + 1
这是要查看的整个程序
import pygame, sys, random
from pygame.locals import *
TILESIZE = 20
WINDOWWIDTH = 640
WINDOWHEIGHT = 480
FPS = 30
floorx = (WINDOWHEIGHT - (TILESIZE))
floory = (WINDOWWIDTH / TILESIZE)
TileOffset = 20
tilesNeeded = (WINDOWWIDTH / TILESIZE)
BLACK = ( 0, 0, 0)
WHITE = (255, 255, 255)
SKYBLUE = (200, 210, 255)
DARKTURQUOISE = ( 3, 54, 73)
GREEN = ( 0, 92, 7)
LIGHTGREEN = ( 0, 135, 15)
def main():
global FPSCLOCK, DISPLAYSURF, BASICFONT, TILESIZE, floorx, floory, floorCovered, tilesNeeded
pygame.init()
FPSCLOCK = pygame.time.Clock()
DISPLAYSURF = pygame.display.set_mode((WINDOWWIDTH, WINDOWHEIGHT))
pygame.display.set_caption('Alpha One')
DISPLAYSURF.fill(SKYBLUE)
drawTiles()
while True:
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
sys.exit()
pygame.display.update()
def drawTiles():
N = 0
while (N < tilesNeeded):
pygame.draw.rect(DISPLAYSURF, GREEN, (20(N), floorx, TILESIZE, TILESIZE))
pygame.draw.rect(DISPLAYSURF, LIGHTGREEN, ((TILESIZE/4) + (20(N)), (floorx + (TILESIZE/4)), TILESIZE / 2, TILESIZE / 2))
N = N + 1
if __name__ == '__main__':
main()
这就是问题:
pygame.draw.rect(DISPLAYSURF, GREEN, (20(N), floorx, TILESIZE, TILESIZE))
特别是Python的20(N)
看起来就像您用N的参数调用对象20。但是20是不可调用的整数,因此会引发异常。
你是说20*N
吗?
顺便说一句,更多的Python语言是编写while (N < tilesNeeded):
至于for N in range(tilesNeeded):
然后就不需要显式地增加它了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.