Python 有人能解释一下这些在Pygame中跳跃的代码吗

Python 有人能解释一下这些在Pygame中跳跃的代码吗,python,pygame,Python,Pygame,这一行代码让我的角色在游戏中跳跃,但我并不真正理解它。它工作,但我只是想更好地理解它 self.jumpCount = 8 self.IsJump = False if not(self.IsJump): if keys[pygame.K_w]: self.IsJump = True self.Left = True self.Right = False self.wal

这一行代码让我的角色在游戏中跳跃,但我并不真正理解它。它工作,但我只是想更好地理解它

self.jumpCount = 8

self.IsJump = False

    if not(self.IsJump):

        if keys[pygame.K_w]:
            self.IsJump = True
            self.Left = True
            self.Right = False
            self.walkCount = 0
    else:
        if self.jumpCount >= -8:
            neg =1
            if self.jumpCount < 0:
                neg= -1
            self.y-=(self.jumpCount **2)*.5 *neg
            self.jumpCount-= 1

        else:
            self.IsJump = False
            self.jumpCount = 8
self.jumpCount=8
self.IsJump=False
如果不是(self.IsJump):
如果键[pygame.K_w]:
self.IsJump=True
self.Left=True
self.Right=False
self.walkCount=0
其他:
如果self.jumpCount>=-8:
负=1
如果self.jumpCount<0:
负=-1
self.y-=(self.jumpCount**2)*.5*neg
自跳计数-=1
其他:
self.IsJump=False
self.jumpCount=8

我假设您的初始else语句在“if not(self.IsJump):”条件之外


由于self.IsJump设置为False,因此将执行您的条件,如果不是(self.IsJump):。这将isJump设置为true,因此我假设你的角色会跳跃。else语句未执行

请正确格式化代码,以便我们阅读它。当执行if not语句时,我按“w”键,然后我会转到else语句吗?因为它会将self.IsJump更改为True?在这种情况下,代码是错误的,因为如果初始if语句始终先运行True,则不会执行else语句