まず第一に、私は Cocos2D と Obj-C を初めて使用するので、このような単純な問題に遭遇することがあります。私の問題は次のようになります。画面にスプライトがあり、ユーザーはスプライトの上部に触れ、押したまま少し上に移動してから離す必要があります。帽子をかぶったプレイヤー スプライトを想像してみてください。帽子に触れて指を少し上に動かし、帽子をその方向に飛ばす必要があります。これを実現する最良の方法は何ですか?
私がこれまでに得たものはこれです:
- (void)ccTouchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [touches anyObject];
CGPoint location = [touch locationInView:[touch view]];
location = [[CCDirector sharedDirector] convertToGL:location];
//other stuff
}
CCTouchesBegan の位置を特定する別のメソッドを作成し、その値を CCTouchesEnded メソッドに渡して、角度を計算し、帽子を飛ばす必要がありますか? または、上記の方法自体でタッチが開始された位置を特定できますか?
回答ありがとうございました:)