<p>所以我让我的角色(玩家)在同时按“左键”或“右键”的同时按“L shift”可以更快地改变速度。
问题是,我想让这个“冲刺”在达到我设定的极限时停止。我希望我的角色不要一次冲刺超过400米。有什么可能的方法我可以用。。?因为我试了很多,但还是找不到任何有效的。
这是我的主回路中设置破折号的部分。char在循环之前定义</p>
<p>运行时:</p>
<pre><code>clock.tick(20)
for event in pygame.event.get():
keys = pygame.key.get_pressed()
mods = pygame.key.get_mods()
if event.type == pygame.QUIT:
run = False
elif keys[pygame.K_LEFT] and mods & pygame.KMOD_LSHIFT or keys[pygame.K_RIGHT] and mods & pygame.KMOD_LSHIFT:
print("pressed: SHIFT")
char.vel = 20
#I wanna set dash limit to 400px but evry try sitll is all failled..
else:
char.vel = 5
</code></pre>
<p>不需要测量像素,您可以创建一个名为<code>dash_count</code>的变量,首先将其设置为零,然后在字符破折号结束时使其增加1。这可以通过while循环实现:</p>
<pre><code>while dash_count <= 400:
pass
# make your character dash over here
</code></pre>