这是我的碰撞检测代码(必要时浏览一下):
if pygame.sprite.spritecollide(my_ball, ballGroup, False):
Ball.speed[1] = -Ball.speed[1]
print '1'
Ball.move()
if pygame.sprite.spritecollide(dad, ballGroup, False):
Ball.speed[1] = -Ball.speed[1]
Ball.move()这个程序告诉我两个精灵在碰撞(代码中的print '1'),所以这个代码中的球(称为Ball)应该在相反的方向从另一个精灵中“弹跳”。但它只是通过雪碧,而不是跳跃。为什么会发生这种情况?
发布于 2014-11-11 19:37:25
如果你运行脚本,所以图像只是水平移动,那么你的冰球没有垂直速度。这意味着这条线:
Ball.speed[1] = -Ball.speed[1]什么都不做。
如果你把它改为
Ball.speed[0] = -Ball.speed[0]那就应该逆转水平速度了。
另外,您的Ball.move()行将为每个循环运行两次.
https://stackoverflow.com/questions/26855304
复制相似问题