Cocos2d iphone cocos2d中的特定体型

Cocos2d iphone cocos2d中的特定体型,cocos2d-iphone,box2d,Cocos2d Iphone,Box2d,我有一些精灵(它们有身体),可以在一个真实的世界里掉到一个盒子里 我想知道我应该以什么方式定义那个盒子的主体,所以只有当另一个主体从上面撞到它时,它看起来像是进入了那个盒子,而我再也看不到它了 我应该把它放在另一个z层吗? 我如何定义一个身体只在其上部开放 我创造了这样的身体: -(void)basket //TAG5 { //define sprite basket=[CCSprite spriteWithFile:@"basket.png"]; basket.tag=

我有一些精灵(它们有身体),可以在一个真实的世界里掉到一个盒子里

我想知道我应该以什么方式定义那个盒子的主体,所以只有当另一个主体从上面撞到它时,它看起来像是进入了那个盒子,而我再也看不到它了

我应该把它放在另一个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。
任何简单方法的解释都将不胜感激。

要制作长方体,您可以使用三个多边形(左墙、右墙和底部)或边形状。然后是的,只要在上面画些东西,这样物体进入该区域时就会隐藏起来。

谢谢,我有另一种方法,我不知道是否更好。我想根据另一个精灵来定义一个身体,也就是盒子边缘的形状,所以现在盒子的身体将不会根据这个盒子的图像,而是根据另一个看不见的图像,以我需要的特殊形状。这样对吗?