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 座標は、y が上から下に増加するため、cocos2d の座標系が示唆するものの反対です!
だから私はビューの座標系がMacの座標系とは違うと仮定しています..これは非常に直感的ではありません..それは正しいですか?
ありがとう !