在我的應用程序中,用戶可以移動或旋轉box2d燈具。碰撞檢測工作正常。但是,如果我使用SetSensor(true)方法將燈具設置爲傳感器,則碰撞檢測反應會很奇怪。 在下面的圖片中,紅色矩形是傳感器,但是如果其他夾具與黑色邊框碰撞,也會檢測到碰撞。Box2d傳感器旋轉問題
圖片:http://img851.imageshack.us/img851/7292/rect.png
是否有可能只有紅色矩形作爲傳感器反應?
BR
在我的應用程序中,用戶可以移動或旋轉box2d燈具。碰撞檢測工作正常。但是,如果我使用SetSensor(true)方法將燈具設置爲傳感器,則碰撞檢測反應會很奇怪。 在下面的圖片中,紅色矩形是傳感器,但是如果其他夾具與黑色邊框碰撞,也會檢測到碰撞。Box2d傳感器旋轉問題
圖片:http://img851.imageshack.us/img851/7292/rect.png
是否有可能只有紅色矩形作爲傳感器反應?
BR
我找到了幫助在這裏: Box2D Forum
我只是忘了檢查觸點觸碰(與IsTouching()方法)!現在它工作正常!
b2BodyDef bodyDef;
bodyDef.type = b2_staticBody;
bodyDef.position.Set(position.x/PTM_RATIO, position.y/PTM_RATIO);
bodyDef.userData = NULL;
b2Body *body = _game.world->CreateBody(&bodyDef);
b2PolygonShape dynamicBox;
dynamicBox.SetAsBox(size.x/2/PTM_RATIO, size.y/2/PTM_RATIO);
b2FixtureDef fixtureDef;
fixtureDef.shape = &dynamicBox;
fixtureDef.isSensor = true;
body->CreateFixture(&fixtureDef);
body->SetTransform(body->GetPosition(), rotatingAngle);