在pygame中查找精灵的x和y值

时间:2018-01-27 12:02:32

标签: python python-3.x pygame

我有一个名为Player的精灵,当它与另一个名为Powerup的精灵发生碰撞时,它会在负y方向上启动精灵播放器达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值?如果没有,我将如何做到这一点?

对不起,如果措辞严重,希望它可读:)

1 个答案:

答案 0 :(得分:1)

您应该使用“ islaunched”变量的某种形式表示,以告诉系统播放器是否刚刚启动,但会在循环的下一次迭代时重置。

或者,您可以简单地在y改变后在动作循环内播放声音(但是,如果运动是基于速度的话,则不是这样)。我的意思是,您很可能会简单地将玩家向上传送700px,在这种情况下,动作和声音之间的延迟是无关紧要的,并且很可能会损害游戏性。