我正在使用Cocos2d来开发游戏。我需要能够在必要时进行平移和缩放,因此我将CCLayerPanZoom扩展添加到我的项目中。最近我注意到了缩放图层的问题。问题是如果我在进行缩放或平移之前触摸缩放平移层,我会得到正确的x,y坐标。但是如果我缩放图层,触摸的位置坐标与之前的坐标不同。以下是我获取触摸位置的方法:
-(void)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
UITouch *touch=[touches anyObject];
CGPoint touchedLocation=[touch locationInView:touch.view];
touchedLocation=[[CCDirector sharedDirector] convertToGL:startPoint];
}
您可能会问我如何确定缩放前后两点是否不同。我有一个精灵位于视图中的预定点。当我触摸精灵时,我记录了精灵和触摸位置的位置。在缩放之前,这些点几乎相同,只有几个单位的x和y差异。但是在缩放之后它们是完全不同的点,我猜这个差异与缩放比例成正比。我不想在缩放前后询问如何使触摸位置相同,我想在这种情况下询问我应该做些什么。
答案 0 :(得分:0)