pgzrun库角色移动的问题

我这里打算用python的pgzrun库弄个音游,但是要弄个角色指针的移动的,可是它不仅重复绘画角色,而且还在移动时留下绘画的痕迹,我该如何修复,请各位懂的的人出出招。

img

这里是这部分的代码


# 绘制游戏元素
def draw():
    global game_state, score, xx
    if game_state == "start":
        screen.fill("black")
        screen.draw.text("Dancing cube", (WIDTH // 2 - 110, HEIGHT // 2 - 150), fontsize=50,  fontname="entitle")
        screen.draw.text("按下“空格”开始游戏", (WIDTH // 2 - 68, HEIGHT // 2 - 90), fontsize=20,  fontname="putong")
        if keyboard.space:
            screen.clear()        
            game_state = 'main'
            
    elif game_state == 'main':
        screen.draw.text("歌单", (30, HEIGHT // 2 - 150),
                        fontsize=50,  fontname="cntitle")
        screen.draw.text("1.Ferrari", (30, HEIGHT // 2 - 100),
                        fontsize=30,  fontname="putong")
        screen.draw.text("2.In This Shirt", (30, HEIGHT // 2 - 50),
                        fontsize=30,  fontname="putong")
        screen.draw.text("3.接发化", (30, HEIGHT // 2 ),
                        fontsize=30,  fontname="putong")
        screen.draw.text("4.试↓Bass↑", (30, HEIGHT // 2 + 50),
                        fontsize=30,  fontname="putong")
        zx.draw()


# 更新游戏状态
def update():
    global xx
    if game_state == "main" and keyboard.down:
        if xx == 4:
            xx -= 3
            zx.y -= 150
        else:
            xx += 1
            zx.y += 50
    time.sleep(0.25)

请大家帮我看看出了什么问题,该导入的库都导入了

  • 这篇博客: Python游戏开发,pgzrun模块,Python实现阿肯色克隆人游戏中的 把球从我们的桨上弹下来 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 我将分享代码–你现在应该能够理解它了:

    if paddle.colliderect(ball):
            ball_y_speed *= -1
            # randomly move ball left or right on hit
            rand = random.randint(0,1)
            if rand:
                ball_x_speed *= -1
    

    再次,我们检查球是否与桨碰撞,如果是,改变它的y方向。随机改变x方向。

    你现在应该可以玩这个游戏了