cocos2dでは、座標系はかなり簡単です。左下は(0,0)です。 私は何かの位置を設定するたびにうまくいきます。Cocos2d座標系
レイヤーが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の座標系が示唆しているのと反対です。
私はビューの座標系がマックの座標系とは異なると仮定しています。これはかなり直観的です..正しいですか?
ありがとうございました!
です。convertToNodeSpaceは、現在のノードの座標系にない点をそれ自身に変換します。例えばノード座標系に対するワールド座標(それでもなおOpenGL形式)。 –
converttoglメソッドを追加して私の答えを更新してください – lukaswelte
それはまだ間違っています。ノードスペースに変換するのは、ユビットのポイントではありません –