Objective c box2d iphone中实体尺寸和像素之间的关系

Objective c box2d iphone中实体尺寸和像素之间的关系,objective-c,xcode,box2d-iphone,Objective C,Xcode,Box2d Iphone,谁能告诉我一个物体的尺寸和像素数之间的关系(在box2d中)。一米的长度有多少像素? 更具体地说,我在程序中使用了下面的代码行 多边形_body.SetAsBox(1,1) 在此代码中,SetASBox的参数是什么。我的意思是,无论是像素值还是其他单位 一米大约是32像素 不看手册,我的猜测是,由于SetAsBox()是一个box2d函数,它以米为单位获取参数。因此,如果您有像素值,您可以使用此定义轻松转换为米: #定义PTM#U比率32 在您的文件中包含这一点可以让您忘记比率,只要在需要在像素

谁能告诉我一个物体的尺寸和像素数之间的关系(在box2d中)。一米的长度有多少像素? 更具体地说,我在程序中使用了下面的代码行

多边形_body.SetAsBox(1,1)


在此代码中,SetASBox的参数是什么。我的意思是,无论是像素值还是其他单位

一米大约是32像素

不看手册,我的猜测是,由于
SetAsBox()
是一个box2d函数,它以米为单位获取参数。因此,如果您有像素值,您可以使用此定义轻松转换为米:

#定义PTM#U比率32

在您的文件中包含这一点可以让您忘记比率,只要在需要在像素和米之间转换时使用此定义即可。当您实际进行转换时,您只需根据上下文除以或乘以此比率(32/1)。例如:

CGSize winSize = [[CCDirector sharedDirector] winSize];
b2Body *body = world->GetBodyList();

if(body->GetPosition().x*PTM_RATIO > winSize.width/2){
    // do stuff....
}
如果将米(GetPosition)与像素(winSize)进行比较,则此条件将不起作用,因此这是一个很好的示例,说明此转换在何处有用

或者,在您的情况下:

float pixel_width, pixel_height;
polygon_body.SetAsBox(pixel_width/PTM_RATIO, pixel_height/PTM_RATIO);

一米大约是32像素

不看手册,我的猜测是,由于
SetAsBox()
是一个box2d函数,它以米为单位获取参数。因此,如果您有像素值,您可以使用此定义轻松转换为米:

#定义PTM#U比率32

在您的文件中包含这一点可以让您忘记比率,只要在需要在像素和米之间转换时使用此定义即可。当您实际进行转换时,您只需根据上下文除以或乘以此比率(32/1)。例如:

CGSize winSize = [[CCDirector sharedDirector] winSize];
b2Body *body = world->GetBodyList();

if(body->GetPosition().x*PTM_RATIO > winSize.width/2){
    // do stuff....
}
如果将米(GetPosition)与像素(winSize)进行比较,则此条件将不起作用,因此这是一个很好的示例,说明此转换在何处有用

或者,在您的情况下:

float pixel_width, pixel_height;
polygon_body.SetAsBox(pixel_width/PTM_RATIO, pixel_height/PTM_RATIO);