【发布时间】:2015-06-24 06:38:33
【问题描述】:
我几乎放弃了,所以我需要帮助。 我正在尝试制作一个具有双跳的简单平台游戏... 我一直在兜圈子,试图找到有用的东西 到目前为止,我最好的想法是比较滴答声的数量,但是每次我得到一些想法时,我都设法把它搞砸了,我不知道如何...... 有什么简单的方法吗?
请忽略任何不必要的变量,这只是一个示例
Clock=pygame.time.Clock()
t=0
a=0
b=0
f=0
m=0
while True:
Clock.tick(180)
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
sys.exit()
if event.type == KEYDOWN:
if event.key==K_SPACE and b==0:
movey=-1
a=1
t=pygame.time.get_ticks()
if event.key==K_SPACE and b==1:
f=pygame.time.get_ticks()
if f<=t+238:
a=1
else:
pass
if event.type == KEYUP:
if event.key==K_SPACE and b==0 and a==1:
a=0
b=1
if event.key==K_SPACE and b==1 and a==1:
m=1
b=3
s=y
if m==1:
y+=movey
if y==s-32:
m==0
elif y<=312 and movey==-1:
movey=+1
elif y==344 and movey==+1:
movey=0
a=0
b=0
else:
y+=movey
现在这是我正在尝试的......
【问题讨论】:
-
你实现了单跳吗?您添加到 y 速度。之后,如果再次点击跳转,您可以切换布尔“can_double_jump”。当你触地时,它会重置。
-
...让我们假装我不知道您的意思...例如,您能给出更长的解释吗?
-
请帮助,任何人......
-
@user2154113 他基本上在做的是创建一个变量
jump并赋予它三种状态。当它在第一个时,你在地上并且可以跳跃。当它在第二个时,你在空中,还没有完成二段跳,所以仍然可以跳。第三,你已经二段跳了,还不能着地才能跳。