У меня есть спрайты (у которых есть тела), которые могут упасть в ящик в мире b2.
Интересно, как мне определить это тело коробки, поэтому, только когда другое тело ударило его сверху вниз, похоже, что он вошел в эту коробку, а я его больше не вижу ...
я должен просто поместить его в другой слой z?
как я могу определить тело, которое будет открыто только в верхней части?
Я создал тело так:
-(void)basket //TAG5
{
//define sprite
basket=[CCSprite spriteWithFile:@"basket.png"];
basket.tag=5;
basket.position=ccp(200,50);
b2BodyDef spriteBodyDef;
spriteBodyDef.type = b2_staticBody;
spriteBodyDef.position.Set(basket.position.x/PTM_RATIO,basket.position.y/PTM_RATIO);
spriteBodyDef.userData = basket;
basket1Body = world->CreateBody(&spriteBodyDef);
b2PolygonShape spriteShape; //b2polygon-for box shape
spriteShape.SetAsBox(basket.contentSize.width/PTM_RATIO/2,basket.contentSize.height/PTM_RATIO/2); //for b2polygon
b2FixtureDef spriteShapeDef;
spriteShapeDef.shape = &spriteShape;
spriteShapeDef.density = 10.0;
spriteShapeDef.isSensor = false;
stand1Body->CreateFixture(&spriteShapeDef);
[self addChild:basket];
}
Я использую cocos2d и box2d.
Любое объяснение простого способа сделать это будет оценено.