微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

修复敌人的移动?

如何解决修复敌人的移动?

这是敌人的动向:

    if playerX > enemyX:
        enemyX += 0.5
    elif playerX < enemyX:
        enemyX -= 0.5
    elif playerY > enemyY:
        enemyY += 0.5
    elif playerY < enemyY:
        enemyY -= 0.5

玩家和敌人的位置都是预先确定的。敌人从 (370,50) 开始,玩家从 (370,480) 开始。 玩家可以使用箭头键移动。如果敌人与玩家发生碰撞,则游戏结束。那部分工作得很好。问题是,一旦我将敌人 Y 或敌人 X 更改为低于 0.5,敌人 Y 将不再改变。但是0.5太快了,玩家几乎没有时间躲避敌人。我想知道我是否可以用不同的方式写这个,这样问题就不会再发生了?我不知道如何解决这个问题,我一直在寻找解决方案。如果有人能在这里帮助我,那就太好了。

解决方法

如果你使用play()来解决敌人的移动问题,xy轴使用的是int,pygame.rect+=0.5可能会导致原来的x或y,尽量让它们浮动,并看到这可以解决问题。而且,你也可以用向量来求解,只要让它们成为速度而不是直接运动

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。