10

私は非常に初心者のプログラマーで、これを行う最も簡単な方法を見つけようとしています。私はこれまでアニメーションで何もしたことがありません。アプリで画像をアニメーション化したいのですが、いくつか問題が発生しました。これは、誰かが以前に私が使用することを提案したコードです(別の質問から):

imageView.image = yourLastImage;  
// Do this first so that after the animation is complete the image view till show your last image.

NSArray * imageArray  = [[NSArray alloc] initWithObjects:
[UIImage imageNamed:@"image1.png"],  
[UIImage imageNamed:@"image2.png"],
[UIImage imageNamed:@"image3.png"],                         
[UIImage imageNamed:@"image4.png"],
nil]; 

// Note: here you may instead want to use something like [UIImage imageWithContentsOfFile:[self localImagePath:NO]] instead depending upon your targeted iOS version.



UIImageView * animatedImageView = [[UIImageView alloc] initWithFrame:
    CGRectMake(100, 125, 150, 130)];
animatedImageView.animationImages = imageArray;
animatedImageView.animationDuration = 1.1;
    myAnimation.animationRepeatCount = 1;
animatedImageView.contentMode = UIViewContentModeBottomLeft;

[self.view addSubview:animatedImageView];
[animatedImageView startAnimating];

さて、まず、これは実用的ですか?画面の中央から画面の下部に移動するものをアニメーション化したいと考えています。それは、互いに 1 ピクセルずつ離れた 500 枚の画像を用意する必要があるということですか? 滑らかで均一に見え、大量の作業を必要としない最適なピクセル間隔はどれくらいですか? 上記の方法よりもアニメーション化するためのより良い方法はありますか? 後で Xcode に追加できるアニメーションを作成するのに役立つプログラムはありますか?

また、誰かが上記のコードを説明してもらえますか? アニメ初心者で意味がよくわかりません。

ばかげた質問で申し訳ありませんが、冒頭で私は初心者だと言いました。ご協力いただきありがとうございます。

4

3 に答える 3

31

UIViewほとんどのアニメーションでは、アニメーション ブロック内のビューのプロパティを変更するだけです。クラスのUIViewドキュメントには、アニメート可能なプロパティがリストされています。

[UIView animateWithDuration:0.5f animations:^{
    aView.frame = CGRectOffset(aView.frame, 0, 250); 
}];

ボタンが押されたときにアニメーションをトリガーする方法を示すサンプル プロジェクトを次に示します。このアニメーション コードは他の多くの場所に置くことができるので、コードをどこに置くべきかという質問には、あなたが望むものについてより詳細な情報を提供しない限り、適切な答えはありません。

https://github.com/MaxGabriel/AnimationDemonstration

あなたが取っていたアプローチは、UIImageView. 私はこれをやったことがありませんが、アニメーション GIF を作成するようなものだと理解しています。ビューの移動やフェードアウトなどについては、上記のアニメーション ブロック メソッドを使用することをお勧めします。

于 2013-01-02T23:42:53.730 に答える