如何解决在 pygame 中进行精灵跳跃
我正在为我的 alevel 编程项目制作游戏,但遇到了一些麻烦。我在让我的精灵跳跃时遇到了麻烦。我找到了一些代码和视频,告诉您如何操作,我按照步骤操作,但似乎不起作用?我已经盯着 (***) 代码所在的部分用于跳转
def level1():
global running,jumping1
global x1,y1,x2,y2,xChange1,yChange1,xChange2,yChange2,jump1,jump2,jumping1,jumping2,isJump
while running:
clock.tick(FPS)
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT:
xChange1 = -5
if event.key == pygame.K_RIGHT:
xChange1 = 5
**************************************************************************************
if not jumping1:
if event.key == pygame.K_UP:
jumping1 = True
else:
if jump1 >= -10:
y1 -= (jump1 **2) * 0.5
jump1 -= 1
else:
jump1 = 10
jumping1 = False
********************************************************************************
if event.type == pygame.KEYUP:
if event.key == pygame.K_LEFT or event.key == pygame.K_RIGHT:
xChange1 = 0
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_a:
xChange2 = -5
elif event.key == pygame.K_d:
xChange2 = 5
elif event.key == pygame.K_w:
yChange2 = -5
elif event.key == pygame.K_s:
yChange2 = 5
if event.type == pygame.KEYUP:
if event.key == pygame.K_a or event.key == pygame.K_d:
xChange2 = 0
elif event.key == pygame.K_s or event.key == pygame.K_w:
yChange2 = 0
x1 += xChange1
x2 += xChange2
y1 += yChange1
y2 += yChange2
y1 -= gravity1
y2 -= gravity2
screen.blit(game_image,(0,0))
character1(x1,y1)
character2(x2,y2)
gameFloor(fx,fy)
if x1 < 0:
x1 = 0
if x1 > WIDTH - Char1WIDTH:
x1 = WIDTH - Char1WIDTH
if y1 < 0:
y1 = 0
if y1 > HEIGHT - Char1HEIGHT - 50:
y1 = HEIGHT - Char1HEIGHT - 50
if x2 < 0:
x2 = 0
if x2 > WIDTH - Char2WIDTH:
x2 = WIDTH - Char2WIDTH
if y2 < 0:
y2 = 0
if y2 > HEIGHT - Char2HEIGHT-50:
y2 = HEIGHT - Char2HEIGHT -50
pygame.display.flip()
jumping 1 预先设置为false,jumping 1 设置为5
解决方法
没有更多细节很难说,但第一个 else
不应该与 if not jumping1:
具有相同的缩进吗?
像这样:
if not jumping1:
if event.key == pygame.K_UP:
jumping1 = True
else:
if jump1 >= -10:
y1 -= (jump1 **2) * 0.5
jump1 -= 1
else:
jump1 = 10
jumping1 = False
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。