box2d创建的一个三角形不能碰撞反弹啊?

大家好,我用box2d创建了一个三角形 但是三角形自由下落,当碰到底部的时候就消失了,。。。我已经设置好了地面 而我创建了一个圆刚体却能碰撞地面而且反弹。。。。求各位解释一下,该怎么解决呢、?

b2BodyDef body;
		body.position.Set(size.width/2/PTM_RATIO, size.height/2/PTM_RATIO);
		body.type = b2_dynamicBody;
		

		b2Body *circleBody = world->CreateBody(&body);

		b2CircleShape circle;
		circle.m_radius = 1.0f;
		
		
		b2FixtureDef fixDef;
		fixDef.restitution = 0.8f;
		fixDef.shape = &circle;

		circleBody->CreateFixture(&fixDef);
b2BodyDef sanjiaoxingDef;
		sanjiaoxingDef.type = b2_dynamicBody;
	//	sanjiaoxingDef.position.Set(0,0);

		b2Body *sanjiaoxing = world->CreateBody(&sanjiaoxingDef);

		b2PolygonShape sanjiaoxingShapeDef;
		sanjiaoxingShapeDef.m_vertexCount = 3;
		sanjiaoxingShapeDef.m_vertices.Set(size.width/2/PTM_RATIO, size.width/2/PTM_RATIO);
		sanjiaoxingShapeDef.m_vertices.Set(400/PTM_RATIO, 257/PTM_RATIO);
		sanjiaoxingShapeDef.m_vertices.Set(270/PTM_RATIO, 264/PTM_RATIO);

		b2FixtureDef fixDef1;
		fixDef1.restitution = 0.8f;
		fixDef1.shape = &sanjiaoxingShapeDef;
		fixDef1.density = 1;


		sanjiaoxing->CreateFixture(&fixDef1);
void HelloWorld::initPhysics()
{
	b2Vec2 gravity;
	gravity.Set(0.0f,-10.0f);

	bool isSleep = true;
	world = new b2World(gravity);
	world->SetAllowSleeping(isSleep);
	world->SetContinuousPhysics(true);

	m_debugDraw = new GLESDebugDraw( PTM_RATIO );
	world->SetDebugDraw(m_debugDraw);

	uint32 flags = 0;
	flags += b2Draw::e_shapeBit;
            flags += b2Draw::e_jointBit;
            //flags += b2Draw::e_aabbBit;
            //flags += b2Draw::e_pairBit;
            //flags += b2Draw::e_centerOfMassBit;

    m_debugDraw->SetFlags(flags);

	 b2BodyDef groundBodyDef;
    groundBodyDef.position.Set(0, 0); // bottom-left corner

	b2Body* groundBody = world->CreateBody(&groundBodyDef);

	CCSize s = CCDirector::sharedDirector()->getWinSize();
	 // Define the ground box shape.
    b2EdgeShape groundBox;

    // bottom
	groundBox.Set(b2Vec2(0,0), b2Vec2(s.width/PTM_RATIO,0));
    groundBody->CreateFixture(&groundBox,0);

    // top
	groundBox.Set(b2Vec2(0,s.height/PTM_RATIO), b2Vec2(s.width/PTM_RATIO,s.height/PTM_RATIO));
    groundBody->CreateFixture(&groundBox,0);

    // left
	groundBox.Set(b2Vec2(0,0), b2Vec2(0,s.height/PTM_RATIO));
    groundBody->CreateFixture(&groundBox,0);

    // right
	groundBox.Set(b2Vec2(s.width/PTM_RATIO,0), b2Vec2(s.width/PTM_RATIO,s.height/PTM_RATIO));
    groundBody->CreateFixture(&groundBox,0);

	
}

824

怎么没有人回答我呢(求回答