我们是否可以知道我们在box2d世界中轻拍(触摸过一次)的位置。 As,location = [self convertCoordToLayer:location];location.x,location.y返回屏幕坐标。那么,有什么方法可以使世界协调?

最佳答案

这取决于您如何关联物理世界和图形。通常,将相对于图层的触摸位置除以PTM_RATIO就足够了:

    CGPoint touchLocation = [touch locationInView:[touch view]];
    touchLocation = [[CCDirector sharedDirector] convertToGL:touchLocation];
    CGPoint nodePosition = [self convertToNodeSpace: touchLocation];
    b2Vec2 pos(nodePosition.x/PTM_RATIO, nodePosition.y/PTM_RATIO);

07-28 03:13