在 cocos2d 中,坐标系非常简单。左下角是 (0,0)。每当我设置任何东西的位置时都很好。
假设一个图层是 TouchEnabled 的。
当我设置我的精灵的位置时,很好..
[crab setPosition:ccp(20, 50)];
但是如果我得到一个触摸的 x 和 y 坐标(并假设我点击了精灵..):
- (void)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
NSLog(@"Touches began!");
NSArray *touchArray = [touches allObjects];
UITouch *one = [touchArray objectAtIndex:0];
pointOne = [one locationInView:[one view]];
CCLOG(@"points are: %f and %f", pointOne.x, pointOne.y );
}
y 坐标与 cocos2d 坐标系所暗示的相反,因为 y 从上到下增加!
所以我假设视图的坐标系与mac的坐标系不同..这很反直觉..对吗?
谢谢 !