While循环在if语句pygam处停止

2024-09-27 23:28:20 发布

您现在位置:Python中文网/ 问答频道 /正文

每当我运行这段代码时,它就停在screen.blit之前,同时仍然循环,一遍又一遍地打印'debug3'。你知道吗

它甚至不知道屏幕没有定义,我的目的是让它运行screen.blit。你知道吗

...
playermove = 5
walkL=pygame.image.load("files/sprites/walkL.png")
walkR=pygame.image.load("files/sprites/walkR.png")
currentSprite = walkL

#single sprite size (width, height)
h=128
w=57   
numImages = 4
    #counter
cImage=0


class Player:

    def animation(self):    
        global cImage,numImages,currentSprite,playerRect,w,h        
        if (cImage>=numImages-1):
            cImage=0
        else:
            cImage+=1
        print('debug3')

        screen.blit(currentSprite,playerRect, (cImage*w,0,w,h))

while True:
    player.animation()

Tags: imagepngloadfilesscreenpygameanimationblit
1条回答
网友
1楼 · 发布于 2024-09-27 23:28:20

如果查看else语句,则需要缩进'print'调用以与'cImage+=1'对齐。你知道吗

来自代码示例的片段

    if (cImage>=numImages-1):
        cImage=0
    else:
        cImage+=1
    print('debug3')

-结束代码段-

相关问题 更多 >

    热门问题