当前位置: 首页 > 知识库问答 >
问题:

如何在玩家触摸婴儿时添加碰撞

公西兴业
2023-03-14

我有一个游戏,我希望当玩家触摸婴儿时,游戏能增加一分。我知道如何加分数,但我不知道如何让系统理解它们之间的冲突。

这是我的代码的主要部分:

while Level1:
    thing_rect = pygame.Rect(random.randrange(display_width), -60, 40, 40)
    thing_speed = 2
    while lives == 3:
        for event in pygame.event.get():
        if event.type == pygame.QUIT:
            return
        # adds the images and movement        
        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_LEFT:
                x_Pl = x_Pl - 40
            elif event.key == pygame.K_RIGHT:
                x_Pl = x_Pl + 40
        if event.type == pygame.KEYUP:
            if event.key == pygame.K_LEFT or event.key == pygame.K_RIGHT:
                x_Pl = x_Pl + 0
    gameDisplay.blit(Level1_Back, (0,0) )
    smallText_2 = pygame.font.Font("LSANS.ttf", 20)
    textSurf, textRect = text_objects("Use the arrow keys to move", smallText_2, black)
    textRect.center = ( (730+(180/2)), (200+(50/2)) )
    gameDisplay.blit(textSurf, textRect)
    gameDisplay.blit(lives_3, (10, 10) )
    gameDisplay.blit(Character_1, (x_Pl, 275))
    thing_rect.y += thing_speed
    if thing_rect.y > display_height:
        thing_rect.y = 0 - thing_rect.height
        thing_rect.x = random.randrange(display_width)

    gameDisplay.blit(Baby_1, thing_rect)
    pygame.display.update()

感谢您的所有帮助。(如果您需要更多代码,请告诉我)

共有1个答案

楚博雅
2023-03-14

您需要一个类似如下的if语句:if-thing_rectX和thing_rectY

 类似资料:
  • 我使用pygame创建了一个游戏,我想让pygame在玩家触摸屏幕一侧时给出一个错误,例如“您无法触摸屏幕侧面”。我尝试在互联网上搜索,但我没有找到任何好的结果。我想过在屏幕上添加一个方块,当玩家触摸方块时,它会发出警告,但这花了很长时间,无论如何都不起作用。我也不知道如何发出警报,然后在发出警报后,让游戏重新开始。有人知道如何做到这一点吗?

  • 好的,我有一个手臂和旋转关节相连的球员。我想要的是手臂身体向接触点旋转。 我试图计算接触点与身体的角度,并用 但它在更新方法上表现得很奇怪。它绕着手臂身体的中心旋转,而不是绕着旋转关节连接的身体旋转。 我也在考虑一个关节,但我不知道哪个能像我想要的那样工作。 我将不胜感激任何帮助!

  • 我正在做一个平台游戏,玩家有一把剑。我希望玩家只能在他下面有地面的时候攻击(所以他不能在空中攻击)。所以我实现了这段代码: 但是.. 每次返回零。虽然如果我将添加到测试玩家是否在地面的部分,它仍然存在!(虽然接地仍然等于零) 以下是完整的代码: 有人能帮忙吗?:)

  • 这是我目前正在开发的一个游戏,我在工作和移动时遇到了碰撞,但当我在墙的两侧(从墙列表中)碰撞时,它会停止移动我的玩家,但如果我一直按住键,玩家将完全移动 这是移动和碰撞的代码: 提醒:一切正常,但我的玩家在与物体碰撞并停止几秒钟后,将继续穿过墙壁。

  • 我试图在pygame中创建一个下降效果,但我被困在一个特定的问题上。每当玩家摔倒并与平台发生碰撞时,我的玩家类就会开始上下摆动。我确信这与我的更新循环有关,但我不确定它到底是什么。我尝试了几种方法,例如重新排列层次结构,但无济于事。我最终在网上搜索,但没有得到答案。所以如果有人能帮忙,我将不胜感激。 谢谢!

  • 当玩家或敌人被击中时,我希望他们的精灵变成红色。从本质上讲,我想要在精灵上显示透明的红色效果。皮游戏是否提供了一种方法来做到这一点?(我使用多个图像,因为角色是动画的,所以创建一个红色的精灵,只是闪烁而不是正常的子画面是行不通的)