Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/105.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何在Box2d中制作倾斜坡度图像(b2body)?_Iphone_Ios_Cocos2d Iphone_Box2d_Chipmunk - Fatal编程技术网

Iphone 如何在Box2d中制作倾斜坡度图像(b2body)?

Iphone 如何在Box2d中制作倾斜坡度图像(b2body)?,iphone,ios,cocos2d-iphone,box2d,chipmunk,Iphone,Ios,Cocos2d Iphone,Box2d,Chipmunk,我是Box2d的新手,正在学习自己。 我在学习Box2d 我想做一个物体,给物体一个角度,使它看起来像是竖立的斜线,像斜坡 这是我的密码 for(int i = 0; i < 4; i++) { static int padding=20; // Create block and add it to the layer CCSprite *block = [CCSprite spriteWithFile:@"slope.png"]; int xOffse

我是Box2d的新手,正在学习自己。 我在学习Box2d

我想做一个物体,给物体一个角度,使它看起来像是竖立的斜线,像斜坡

这是我的密码

for(int i = 0; i < 4; i++) {

    static int padding=20;

    // Create block and add it to the layer
    CCSprite *block = [CCSprite spriteWithFile:@"slope.png"];
    int xOffset = padding+block.contentSize.width/2+ ((block.contentSize.width+padding)*i);
    block.position = ccp(xOffset, 250);
    block.tag = 2;
    [self addChild:block];

    // Create block body
    b2BodyDef blockBodyDef;
    blockBodyDef.type = b2_staticBody;   //b2_dynamicBody
    blockBodyDef.position.Set(xOffset/PTM_RATIO, 250/PTM_RATIO);
    blockBodyDef.userData = block;
    b2Body *blockBody = _world->CreateBody(&blockBodyDef);

    // Create block shape
    b2PolygonShape blockShape;
    blockShape.SetAsBox(block.contentSize.width/PTM_RATIO/2,
                        block.contentSize.height/PTM_RATIO/2);

    // Create shape definition and add to body
    b2FixtureDef blockShapeDef;
    blockShapeDef.shape = &blockShape;
    blockShapeDef.density = 10.0;
    blockShapeDef.friction = 0.0;
    blockShapeDef.restitution = 0.1f;
    blockBody->CreateFixture(&blockShapeDef);            
}
for(int i=0;i<4;i++){
静态整数填充=20;
//创建块并将其添加到图层
CCSprite*block=[CCSprite spriteWithFile:@“slope.png”];
int xOffset=padding+block.contentSize.width/2+((block.contentSize.width+padding)*i);
block.position=ccp(xOffset,250);
block.tag=2;
[self addChild:block];
//创建块体
b2BodyDef blockBodyDef;
blockBodyDef.type=b2\u staticBody;//b2\u dynamicBody
块体定义位置设置(xOffset/PTM_比率,250/PTM_比率);
blockBodyDef.userData=block;
b2Body*blockBody=\u world->CreateBody(&blockBodyDef);
//创建块形状
b2PolygonShape块状;
blockShape.SetAsBox(block.contentSize.width/PTM_RATIO/2,
块、内容大小、高度/PTM_比值/2);
//创建形状定义并添加到实体
b2FixtureDef blockShapeDef;
blockshapedf.shape=&blockShape;
块状密度=10.0;
块状摩擦系数=0.0;
块状恢复=0.1f;
块体->CreateFixture(&blockShapeDef);
}
在这段代码中,我水平地创建了4个b2body。现在我想要垂直的,稍微倾斜的,像一个斜坡

我还不能做到这一点

我不知道我必须给天使的身体或其他东西。找不到Box2d的示例代码和良好教程

有没有适合初学者的xcode Box2d演示的网站? 或者一些类似代码的应用程序,我们有UIButtons,UILabel,UITextField编程,我能找到像这样的Box2d代码吗

在这个演示中,我试图制作4个静态斜坡图像,从左上角我必须推球(b2dynamicbody)。球将通过这4个静止体,球将根据坡度转动


任何想法或建议都是非常受欢迎的。

在示例中替换此代码,并获得一个松散的正文

// Create block body
b2BodyDef blockBodyDef;
blockBodyDef.type = b2_staticBody;   //b2_dynamicBody
blockBodyDef.position.Set(200/PTM_RATIO, 250/PTM_RATIO);
blockBodyDef.userData = block;
b2Body *blockBody = _world->CreateBody(&blockBodyDef);

// Create block shape
b2PolygonShape blockShape;

int num = 3;
b2Vec2 verts[] = {
    b2Vec2(-27.5f / PTM_RATIO, -296.6f / PTM_RATIO),
    b2Vec2(-14.3f / PTM_RATIO, -127.2f / PTM_RATIO),
    b2Vec2(-281.0f / PTM_RATIO, -288.4f / PTM_RATIO)
};
blockShape.Set(verts, num);

// Create shape definition and add to body
b2FixtureDef blockShapeDef;
blockShapeDef.shape = &blockShape;
blockShapeDef.density = 10.0;
blockShapeDef.friction = 0.0;
blockShapeDef.restitution = 0.1f;
blockBody->CreateFixture(&blockShapeDef);

祝你好运,请随意提问。

你能不能用一条简单的线作为png来设置盒子的角度?先生,我对Box2d没有任何经验。这是我的第一个演示。你试过设置blockBodyDef.angle吗?嗯。。。例如,blockBodyDef.angle=1;什么是街区先生?blockBodyDef.userData=block;错误使用未声明的标识符。它的精灵对象,如果您不想在主体中添加精灵,只需注释该行谢谢,先生还有一件事,我知道如何创建主体,但我不知道如何为主体着色,如imgView.backgroundcolor=[uicolor redcolor],如果我们不想在imageview上使用.png图像,像这样如何创建仅带颜色的body不想使用.png图像,用于测试目的?您不能为body赋予颜色,它在box2d中不受支持,您必须使用仅带图像的sprite选项。谢谢先生,任何关于box2d的好书或网站,在那里我可以学习并获得示例代码或一些演示项目。我是一个完全的初学者,到目前为止,这对我来说似乎很难。因为我在互联网上搜索,直到我在这里提问并得到专家的回答,我才能找到我的问题。