我想从UIGestureRecognizer获取UITouch的位置,但是通过查看文档和其他SO问题,我无法弄清楚如何做到这一点。你们能指导我吗?
- (void)handleTap:(UITapGestureRecognizer *)tapRecognizer
{
CCLOG(@"Single tap");
UITouch *locationOfTap = tapRecognizer; //This doesn't work
CGPoint touchLocation = [_tileMap convertTouchToNodeSpace:locationOfTap];
//convertTouchToNodeSpace requires UITouch
[_cat moveToward:touchLocation];
}
修复代码 - 这也修复了反转的Y轴
CGPoint touchLocation = [[CCDirector sharedDirector] convertToGL:[self convertToNodeSpace:[tapRecognizer locationInView:[[CCDirector sharedDirector] openGLView]]]];
CGPoint touchLocation = [_tileMap convertTouchToNodeSpace:locationOfTap];
代码中。其中convertTouchToNodeSpace方法将一个UITouch对象转换为一个CGPoint对象。这段代码可以这样使用吗? - Oscar ApelandCGPoint location = [tapRecognizer locationInView:[[CCDirector sharedDirector] openGLView]];
将一个CGpoint传递给moveToward函数,而问题可能出在其他地方.. :s 无论如何,还是会接受你的答案,因为它对我有帮助。 - Oscar Apeland