Как получить местоположение крана по мировой координате? - PullRequest
3 голосов
/ 31 мая 2011

Можем ли мы знать, где мы коснулись (коснулись один раз) мира box2d. As, location = [self convertCoordToLayer:location]; location.x,location.y возвращает экранную координату. Так есть ли способ получить мировую координату?

1 Ответ

3 голосов
/ 31 мая 2011

Это зависит от того, как вы соотносите свой физический мир и графику.Обычно достаточно разделить позицию касания относительно слоя на 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);
...