什么是Cocos2d的触摸​​locationInView,covertToGL和convertToNodeSpace之间的差异?

zac*_*ack 4 iphone cocos2d-iphone ios

我是初学者并且与他们混淆.在控制台中,它们的位置具有不同的值.那么,他们自己的意义是什么?

may*_*uur 9

locationInView将根据处于纵向模式的普通笛卡尔坐标系统为您提供当前触摸的位置.

但是,您需要将这些坐标转换为OpenGL坐标以获取实际位置.convertToGL只是将坐标转换为当前布局,可能是横向模式或任何其他模式.

虽然,convertToNodeSpace将用于,例如,基于图块的游戏,你有一个大地图.convertToNodeSpace会将您的openGL触摸坐标转换为.tmx地图或其他类似地图的坐标.

例如,请考虑下图.你可能有一个(1000,2000)大小的地图.

现在,当您第一次触摸屏幕时,坐标将以正常纵向模式存储,转换为openGL后会在屏幕上显示正确的坐标,比方说(100,100).但您目前在地图上的位置是(800,800).要获得此位置,您需要convertToNodeSpace.

希望这可以帮助.:)