Я работаю с сенсорным экраном в cocos2d и совершенно неправильно понимаю методы определения положения касания. Например, этот метод возвращает один результат:

    CGPoint curLocation = [touch locationInView:[touch view]];
    CGPoint a = [[CCDirector sharedDirector] convertToGL:curLocation];

    CGPoint touchLoc = [touch locationInNode:self];
    CGPoint point = [self convertToNodeSpace:touchLoc];

Итак, какие методы нужно использовать? потому что в документации 0 информации об этом.

0
user3780799 13 Авг 2014 в 17:47

1 ответ

Лучший ответ

В cocos2d v3 все, что вам нужно, это:

CGPoint touchLoc = [touch locationInNode:self];

Если вы посмотрите код locationInNode, он уже вызывает convertToGL и convertToNodeSpace. Вы не должны впоследствии вызывать convertToNodeSpace, потому что это даст вам неверные результаты. Просто используйте locationInNode. Первые две строки и четвертая строка у вас уже созданы внутри locationInNode.

1
Allen S 13 Авг 2014 в 22:56