首页 > 解决方案 > 在上面把我推开?

问题描述

需要帮助我的“盒子”不应该与玩家发生碰撞,我想使用“相交”,当我尝试碰撞时,我得到的只是这个有弹性的混乱。最大的问题是,当我站在盒子上时,它只会把我推到左边。

      if (sprite.getGlobalBounds().intersects(sprite3.getGlobalBounds())) {

            if(sprite.getPosition().y > sprite3.getPosition().y) {
                sprite3.setTexture(texture4);
                player.y += 20 ;

            }
            else {
                player.y += -1;
            }


            if(sprite.getPosition().x > sprite3.getPosition().x) {
                player.x += 20;
            }
            else {
                player.x += -20;
            }
        }
        else {

            std::cout << "hi" << std::endl;
        }

注:重力当前为 player.y +=1;

所以我最需要帮助和想要帮助的是为什么/我能做些什么来解决我站在盒子上时向左走的问题。

标签: c++collision-detectionsfml

解决方案


推荐阅读