Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/195.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 单跳函数_Android_Box2d_Collision Detection_Andengine - Fatal编程技术网

Android 单跳函数

Android 单跳函数,android,box2d,collision-detection,andengine,Android,Box2d,Collision Detection,Andengine,我正在开发一款安德金的游戏。我希望我的球员只能跳一次。所以我使用了contact listner。但它并不总是有效。大部分有效,但并不总是有效。请检查代码并告诉我我的错误 我有播放器对象和十盒2D静态对象。我不明白这个联系人侦听器如何检测播放器和这些盒子之间的碰撞。因为我还有其他的盒子。例如:播放器、正方形和圆形。为什么会在玩家和square之间检测这种接触?为什么不在圆形和方形之间 private ContactListener contactListener() {

我正在开发一款安德金的游戏。我希望我的球员只能跳一次。所以我使用了contact listner。但它并不总是有效。大部分有效,但并不总是有效。请检查代码并告诉我我的错误

我有播放器对象和十盒2D静态对象。我不明白这个联系人侦听器如何检测播放器和这些盒子之间的碰撞。因为我还有其他的盒子。例如:播放器、正方形和圆形。为什么会在玩家和square之间检测这种接触?为什么不在圆形和方形之间

    private ContactListener contactListener()
    {
        ContactListener contactListener = new ContactListener()
        {
            @Override
            public void beginContact(Contact contact)
            {
                player.setJumping(false);
            }

            @Override
            public void endContact(Contact contact)
            {
                player.setJumping(true);

            }   
         };
         return contactListener;
    }

我想你想把碰撞物体和非碰撞物体分开。这有助于你从接触中得到碰撞的两个装置。然后你可以检查他们是哪个装置。相信我,这是玩家和其他人之间的代码检查。怎么会是这样?你发布的代码根本没有检查任何东西。例如,在beginContact函数中,在调用player.setJumping之前,您应该检查其中一个装置是否是播放器,对吗?否则,即使其他东西开始接触,玩家的状态也会改变。我同意你的看法。我如何检查它?就像我在上面的第一条评论中所说的。同样的问题: