Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/118.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
Ios 更改Box2D定位点?_Ios_Cocos2d Iphone_Box2d_Points - Fatal编程技术网

Ios 更改Box2D定位点?

Ios 更改Box2D定位点?,ios,cocos2d-iphone,box2d,points,Ios,Cocos2d Iphone,Box2d,Points,在Cocos2D中,我创建了锚定点为(0,1)的ccsprite,这与UIKit的方式类似。无论如何,我正在尝试更改Box2D中的定位点,这可能吗? 如果是这样,我将如何在锚点为(0,1)的情况下执行该操作 谢谢 Box2D实体没有定位点 锚点是节点纹理相对于节点位置的偏移。Box2D实体没有纹理,因此没有锚定点 一般来说,更改锚点的默认位置0.5,0.5会使很多事情变得更加困难。例如,导致您提出这个问题的问题。Box2D实体没有固定点 锚点是节点纹理相对于节点位置的偏移。Box2D实体没有纹理

在Cocos2D中,我创建了锚定点为(0,1)的ccsprite,这与UIKit的方式类似。无论如何,我正在尝试更改Box2D中的定位点,这可能吗? 如果是这样,我将如何在锚点为(0,1)的情况下执行该操作


谢谢

Box2D实体没有定位点

锚点是节点纹理相对于节点位置的偏移。Box2D实体没有纹理,因此没有锚定点


一般来说,更改锚点的默认位置0.5,0.5会使很多事情变得更加困难。例如,导致您提出这个问题的问题。

Box2D实体没有固定点

锚点是节点纹理相对于节点位置的偏移。Box2D实体没有纹理,因此没有锚定点


一般来说,更改锚点的默认位置0.5,0.5会使很多事情变得更加困难。例如,导致您提出这个问题的问题。

更改身体中形状的定位点:

做一个for循环得到最小的x垂直和最大的,减影得到宽度,你可以在同一个循环中得到最小的y垂直和最大的和减影

如果随后移动具有差异的所有顶点,则将在0,0中定位形状


它不确定是否是最佳解决方案。

更改实体中形状的定位点:

做一个for循环得到最小的x垂直和最大的,减影得到宽度,你可以在同一个循环中得到最小的y垂直和最大的和减影

如果随后移动具有差异的所有顶点,则将在0,0中定位形状


它不确定是否是最佳解决方案。

Hmm我通过这个链接运行:他们说这是可能的,所以在查看该链接后,您认为它仍然是可能的吗?是的,您可以偏移形状,但没有简单的属性,您必须将此偏移添加到每个Box2D主体,以匹配相应精灵的锚点偏移。只使用cocos2d主播点比让cocos2d表现得像UIKit要容易得多。另请参见以下解释:我明白了。这是一个很好的解释。因此,如果我使用常规的0.5,0.5锚点,我会弄乱我的精灵的位置,因为我习惯了UIKit。是否有任何方法将UIKit位置坐标转换为Cocos2D坐标?您可以将UIKit坐标转换为Cocos2D,如下所示:node.position=CGPointMake(uikitPos.x+node.contentSize.width*node.anchorPoint.x,uikitPos.y-node.contentSize.height*node.anchorPoint.y);您可能希望将其包装到helper方法或CCNode category方法中。谢谢!我一定会这样做,并离开锚点在.5,.5。谢谢你的帮助和接受的答案!嗯,我通过这个链接运行:他们说这是可能的,所以在你看了这个链接之后,你认为这仍然是可能的吗?是的,你可以偏移形状,但是没有简单的属性,你必须将这个偏移添加到每个Box2D主体,以匹配相应精灵的锚点偏移。只使用cocos2d主播点比让cocos2d表现得像UIKit要容易得多。另请参见以下解释:我明白了。这是一个很好的解释。因此,如果我使用常规的0.5,0.5锚点,我会弄乱我的精灵的位置,因为我习惯了UIKit。是否有任何方法将UIKit位置坐标转换为Cocos2D坐标?您可以将UIKit坐标转换为Cocos2D,如下所示:node.position=CGPointMake(uikitPos.x+node.contentSize.width*node.anchorPoint.x,uikitPos.y-node.contentSize.height*node.anchorPoint.y);您可能希望将其包装到helper方法或CCNode category方法中。谢谢!我一定会这样做,并离开锚点在.5,.5。谢谢你的帮助和接受的答案!