我一直在学习如何使用 pygame 并遇到了一个让你的角色跳跃的教程。代码不完全相同,但我不明白为什么它不应该工作。
我想知道False
如果他要问,为什么他最初会考虑跳跃:
if not (p1jump):
if keys[pygame.K_SPACE]:
p1jump = True
这让我很困惑,因为p1jump
最初是错误的。所以你基本上是在问:如果 p1jump 为真,并且按下了 SPACE,那么将 p1jump 设置为真。
这是整个班级以防万一:
class Player1():
def __init__(self,x,y):
self.x = x
self.y = y
self.height = 25
self.width = 25
self.speed = 5
def draw(self,r,g,b):
pygame.draw.rect(win,(r,g,b),(self.x,self.y, self.width ,self.height))
def movement(self):
p1jump = False
jumpcount = False
keys = pygame.key.get_pressed()
if keys[pygame.K_a] and self.x > self.speed:
self.x -= self.speed
elif keys[pygame.K_d] and self.x < (w - self.width):
self.x += self.speed
if not(p1jump):
if keys[pygame.K_SPACE]:
p1jump = True
else:
if jumpcount >= -10:
self.y -= (jumpcount **2) *0.5
jumpcount = 1
else:
p1jump = False
jumpcount = 10
另外,如果你们有更好的方法来编写跳转代码,请告诉我!谢谢!