我有一个球,一旦它撞到地板上,我希望它反弹起来,说原来反弹的一半,直到它不能再反弹了。我加了一个传球,球刚好停在底部。如何使它反弹起来
kickoff_location = [WIDTH/2 - ball_size[0] / 2, 210]
gravity = 2
ball_bounce = False
if not(ball_bounce):
if kickoff_location[1] < player_one_pos[1] + (player_width / 2) + ball_size[0]:
kickoff_location[1] += gravity
elif kickoff_location[1] == player_one_pos[1] + (player_width / 2) + ball_size[0]:
kickoff_location[1] -= gravity / 2
pass
你的球需要一个速度矢量,即
vel = [0, 0] # [dX, dY]
你需要简单的重力加速度常数,即
grav = 0.1
你需要环境阻力常数,即
resist = 0.8
你需要提到弹性系数,即
elast = 0.5
现在,在每个更新周期中,您:
vel[1] += grav
vel[0] *= resist ; vel[1] *= resist
vel[1] = -vel[1] * elast
。水平碰撞也一样,但是速度的X部分李>ball_loc[0] += vel[0] ; ball_loc[1] += vel[1]
修改常量以获得真实的球运动
相关问题 更多 >
编程相关推荐