私は、私は形を描いている場合があります。三角形(点A、B、C)。今、私はポイントA、B、CがポイントX、Y、Zに向かって移動するようにアニメーションを作成したいと思います。(ボタンをクリックするだけです)iPhoneの開発 - 基本的な描画とアニメーションの質問
私は描画のために私のカスタムビューで使用しています。私は私のビューを動かすことを望んでいない、私はむしろ(私は複数の図面を持っているので)私の図面を移動したい。
任意のポインタ?すべての相対的な記事?
よろしく、 ムスタファ
私は、私は形を描いている場合があります。三角形(点A、B、C)。今、私はポイントA、B、CがポイントX、Y、Zに向かって移動するようにアニメーションを作成したいと思います。(ボタンをクリックするだけです)iPhoneの開発 - 基本的な描画とアニメーションの質問
私は描画のために私のカスタムビューで使用しています。私は私のビューを動かすことを望んでいない、私はむしろ(私は複数の図面を持っているので)私の図面を移動したい。
任意のポインタ?すべての相対的な記事?
よろしく、 ムスタファ
コアアニメーションが事のこのタイプに適したソリューションです。パスに応じてシェイプを描き、基本アニメーションまたはキーフレームアニメーションを使用してアニメートすることができるCAShapeLayerがあります。あなたは、ボタンのクリックでこのような何かを行うことができます。
CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"position"];
[animation setFromValue:[NSValue valueWithCGPoint:CGPointMake(0.0, 0.0)]];
[animation setToValue:[NSValue valueWithCGPoint:CGPointMake(320.0, 480.0)]];
[animation setDuration:2.0f];
[shapeLayer addAnimation:animation forKey:@"positionAnimation"];
これは2秒間にわたって320.0、480.0(右下)にポイント0.0、0.0(左上隅)からレイヤーをアニメーション化します。レイヤーにアニメーションを追加すると、すぐに再生が開始されます。あなたは(ポストから確認されませんでした)アニメーションを回転させるために探しているなら、あなたはこれを行うことができます:
CABasicAnimation *rotationAnimation;
rotationAnimation = [CABasicAnimation
animationWithKeyPath:@"transform.rotation.z"];
[rotationAnimation setFromValue:DegreesToNumber(0)];
[rotationAnimation setToValue:DegreesToNumber(360)];
[rotationAnimation setDuration:2.0f];
[rotationAnimation setRepeatCount:10000]; // keep spinning
[shapeLayer addAnimation:rotationAnimation forKey:@"rotate"];
をDegreesToNumberは、度をラジアンに変換し、のNSNumberオブジェクトを返すヘルパー関数です:
CGFloat DegreesToRadians(CGFloat degrees)
{
return degrees * M_PI/180;
}
NSNumber* DegreesToNumber(CGFloat degrees)
{
return [NSNumber numberWithFloat:
DegreesToRadians(degrees)];
}
コアアニメーションについては、ウェブ上で多くの記事がありますが、これはあなたを開始するはずです。明確化が必要な場合はお知らせください。
ありがとうマット、私はそれを試して、それがどのように行っているかを知らせます。 – Mustafa