我正在尝试在游戏中创建一个跳跃系统和一个重力,以便玩家可以在重力作用下工作并能够跳到平台上并停留在平台上,直到玩家离开平台为止,在这种情况下它将掉落
我试图在pygame上创建一些引力并进行跳转。但是它不能像游戏中的典型重力那样正常工作,当我尝试着陆时,我会立即直接通过平台
class Player:
def __init__(self, x, y, pic_one):
self.xpos = x
self.ypos = y
self.speed_y = 0
self.speed_x = 0
self.picture = pic_one
def update(self):
self.xpos += self.speed_x
self.ypos += self.speed_y
def draw(self):
screen.blit(self.picture, (self.xpos, self.ypos))
player_one = Player(30, 600, player_one_first_pic)
while True:
[...]
if event.type == pygame.JOYBUTTONDOWN:
if joystick.get_button(0):
player_one.speed_y = -8
if player_one.rect.bottom == wood_platform.rect.top:
player_one.speed_y = 0
if player_one.rect.bottom == gravel.rect.top:
player_one.speed_y = 0
player_one.update()
player_one.draw()
实际结果是精灵确实跳了起来,但没有正确撞到地面,并且有跳跃的边界,还有一个事实是可以进行空中跳跃,这是我在游戏中不满意的: (如果您确实需要更多了解,请参见以下图表:)