Cocos2d iphone 我醒来时总是肯定的,尽管这是允许的

Cocos2d iphone 我醒来时总是肯定的,尽管这是允许的,cocos2d-iphone,box2d,fixture,Cocos2d Iphone,Box2d,Fixture,有一个有很多身体和固定装置等的CClayer 所有b2_body对象都将allowsleeping设置为true。但他们从不睡觉 注: 所有b2_body的:setAwake在初始创建时都是正确的。 所有b2_主体的:setActive在初始创建时均为TRUE。 所有夹具的摩擦系数均为0.001或0。没有区别 已获取自定义的简单联系人侦听器类 当我通过 b2Vec2速度=b->GetLinearVelocity(); 速度。长度() 是零。但不知何故,b->IsAwake()总是肯定的 似乎有些

有一个有很多身体和固定装置等的CClayer

所有b2_body对象都将allowsleeping设置为true。但他们从不睡觉

注: 所有b2_body的:setAwake在初始创建时都是正确的。 所有b2_主体的:setActive在初始创建时均为TRUE。 所有夹具的摩擦系数均为0.001或0。没有区别

已获取自定义的简单联系人侦听器类

当我通过 b2Vec2速度=b->GetLinearVelocity(); 速度。长度()

是零。但不知何故,b->IsAwake()总是肯定的

似乎有些身体在以很小的速度不停地来回摆动。 是的,它们是堆叠的

原因可能是什么?或者有没有解决这个问题的方法

我应该在我的自定义contactClass中停止接触体的线速度吗?或者


谢谢。

这些尸体堆起来了吗?如果是这样的话,模拟中的“噪音”可能会阻止物体进入睡眠状态,因为它们一直在轻轻地相互推动。或者是否有我遗漏的box2d物体的速度阻尼参数?检查速度。所有物体的速度长度类似于0.0000001234(float32)。有没有办法消除噪音或强制小速度为零?或者我应该将身体的静养设置为与0不同的值吗?还是一个更好的方法来防止这个问题?似乎我在我的定制contactlistener中注释了所有的预解决方法行。有问题的根源吗?真正的问题是,两个接触的物体会相互唤醒,所以即使是最轻微的抖动也可能是一个问题,因为重力总是把物体拉下来。不过,您可以手动将它们设置为睡眠。