如何在世界坐标上获取点击位置?

时间:2011-05-31 14:19:36

标签: iphone cocos2d-iphone box2d

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

1 个答案:

答案 0 :(得分:3)

这取决于您如何关联物理世界和图形。通常,通过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);