我有一个名为Player的精灵,当它与另一个名为Powerup的精灵碰撞时,它将沿负y方向启动该精灵Player达700像素。
在精灵播放器已经启动了700像素后,我想播放声音,但是要做到这一点,我需要找到一种方法来检查精灵播放器是否已经完成了启动700像素的工作。
基本上是这样的:
if sprite_player collides with sprite_powerup:
sprite_playerYcoordbeforepowerup = previous_Y
launch_player_up_700pixels
then check
if sprite_playercurrentYcoord - previous_Y == 700:
playSound()
是否存在类似于pygame.mouse.get_pos()的函数,该函数返回鼠标光标的位置,而不是返回精灵的x和y值?如果没有,我将如何去做?
抱歉,如果这个措词不好,希望它可读:)
最佳答案
您应该使用“ islaunched”变量的某种形式,告诉系统播放器是否刚刚启动,但是会在循环的下一次迭代时重置。
或者,您可以在y更改后简单地在动作循环内播放声音(但如果运动不是基于速度,则不是)。我的意思是,您很可能会简单地将玩家向上传送700px,在这种情况下,动作和声音之间的延迟是无关紧要的,并且很可能会降低游戏性。