UIViewを回転させるための数学を計算しようとしていますが、特定の面は画面上を移動するとき常に指に「追従」します。iOS指をたどるように回転する砲塔/大砲の数学
私はほとんどそこにいますが、私は何年も三角法を学んでいないので、何をすべきか正確には分かりません。ここに私が持っているものがあります:
-(void) touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [touches anyObject];
CGPoint touchPoint = [touch locationInView:self.view];
int dy = cannon.frame.origin.y - touchPoint.y;
int dx = cannon.frame.origin.x - touchPoint.x;
cannon.transform = CGAffineTransformMakeRotation(atan2(dy,dx) - 135);
}
これが役立つ場合、Ray Wenderlichは回転するタレットについて書いています。それはcocos2dにありますが、普通のobjcにはかなりの類似点があると思います。http://www.raywenderlich.com/692/rotating-turrets – CodaFi
あなたの現在のソリューションは、どうしたいのですか? 'atan2'はインスタントトラッキングのために使うのが最も簡単ですので、あなたはそれが分かっているように見えます。 – Tommy
それはそれほど正しいことではありません。それはいくつかのスポットでspazzes、私は一定のX値を保持し、Yを上下に移動すると、それはあまりUIViewを移動します。 – Derek