私は何が問題なのか分かりません。私はベクトルの角度を見つけるためにccpToAngle()を使用していますが、適切な角度を得ることはできません。私のボールはcpp(170,40)で開始/初期位置にあり、スワイプを使ってスローしたい。
私は角度を大きくするより、その後スワイプ場合、私はここにCocos2dを使ってベクトルの角度を見つける
-(void) ccTouchEnded:(UITouch *)touch withEvent:(UIEvent *)event {
CGPoint location = [touch locationInView: [touch view]];
CGPoint vector = ccpSub(location, ccp(170 ,40));
normalVector = ccpNormalize(vector);
float angleRads = ccpToAngle(normalVector);
float angle = CC_RADIANS_TO_DEGREES(angleRads);
}
、角度を見つけるために書きましたけど。私は、同じ行/方向にスワイプすると、角度が毎回同じであるべきだと思う。しかし、ここでは、70〜90度の角度しか得られません。スワイプすれば角度は60,66度に近くなります。
0度から180度の間の角度が必要です。 ccp(170,40)を軸の起点とみなすことは可能でしょうか?& Cocos2dでベクトルの角度を見つけるのですか?
ありがとうございます。
私はあなた自身でそれを行うために数学ライブラリを使用することをお勧めします。それは非常にシンプルで貴重な知識です。単にオンラインで簡単な三角法のチュートリアルを見てください。 – EmilioPelaez
NSLog(@位置:%.0fx%.0fベクトル:%.0fx%.0f角度:%.0f "、location.x、location.y、vector.x、ベクトルの中に' NSLog'を挿入します。 .y、angle); '。 170x40の周りに指で円を描くと、どこに問題があるのかがわかります。 – brigadir