字符冲突检测不起作用

问题描述 投票:0回答:1

我正在尝试创建类似于《战争年代》的游戏。我有针对敌方基地的碰撞检测功能,但我无法弄清楚如何对玩家角色进行碰撞,使他们彼此堆叠。

我已经通过检查骑士名单来尝试过,但是它不起作用。

def player_knight_position():

    global player_knight_list
    global player_walk
    for player_knight_pos in player_knight_list:
        stop = False
        stop = player_knight_collision_check(player_knight_pos,stop)
        if stop == False:
            if player_knight_pos[2] + 1 >= 7:
                player_knight_pos[2] = 0
            player_knight_pos[0] += 2
            player_knight_pos[3] += 2
            player_walk +=1
            if player_walk >=7:
                player_knight_pos[2] += 1
                player_walk = 0
        else:
            pass
def player_knight_collision_check(player_knight_pos,stop):

    global player_knight_list
    p_x = player_knight_pos[0]
    print(player_knight_list)
    for knight_pos in player_knight_list:
        print(knight_pos[0])
        if p_x <= saved_enemy_base_x or p_x < knight_pos[0] -100:
            stop = False
            return stop
        else:
            stop = True
            return stop
python pygame collision detection
1个回答
0
投票

您是否对所有角色都使用Sprite类?如果是这样,请看一下spritecollide函数,我认为这将处理您尝试实现的很多事情。

© www.soinside.com 2019 - 2024. All rights reserved.