- 2010年3月20日 17:22
- iPhone
今日MacBookPro届いたよ。整備品だけど。
なぜかDVDの読み込みエラーになる時がある。整備品だからかと疑いたくなる。
あぁぁぁ、ほんとう情報が少ない。。Core Animation。ハマりまくり。
CABasicAnimation で使ってフラッシュでいうTweenerみたいなことをしたいと思っていて。
単純に、1つの動作をさせることは簡単に分かったのですが(例えば、拡大だけとか、回転だけとか)。
でも、拡大しながら回転させたい時はどうするんだよっと。公式ドキュメントやら読んでみたけど、意味不明でした。2つ並べても1つしかアニメされないし。。。
でも、洋書のCore Animationに書いてありました。あっさりと。買っておいて良かった。。。
Core Animation: Simplified Animation Techniques for Mac and iPhone Development (Core Frameworks Series)
知ってみれば答えは、簡単
CATransform3DConcat を使えば良い。
CATransform3D rotateAnim;
CATransform3D transformAnim;
CATransform3D combine;
//1秒で回転しながら拡大
CABasicAnimation *animation =[CABasicAnimation animationWithKeyPath:@"transform"];
animation.duration=1.0;
animation.repeatCount = 0;
animation.delegate = self;
//拡大準備
transformAnim = CATransform3DMakeScale(0.1f, 0.1f, 0.1f);
//回転準備
rotateAnim = CATransform3DMakeRotation(-180 * M_PI / 180.0, 0.0, 0.0, 1.0);
//上記2つを合体させる
combine = CATransform3DConcat(transformAnim, rotateAnim);
//アニメの始まりをセット
animation.fromValue =[NSValue valueWithCATransform3D:combine];
//拡大終了時
transformAnim = CATransform3DMakeScale(1.0f, 1.0f, 1.0f);
//回転終了時
rotateAnim = CATransform3DMakeRotation(0 * M_PI / 180.0, 0.0, 0.0, 1.0);
//上記2つを合体させる
combine = CATransform3DConcat(transformAnim, rotateAnim);
//アニメの終わりをセット
animation.toValue =[NSValue valueWithCATransform3D:combine];
//最後にレイヤーに適用する
[imageLayer addAnimation:animation forKey:@"kRotateKey"];
- Newer: AS3 文字数入力制限と文字数カウント
- Older: iPhone UIBarButtonItem ボタンの色を変えたい場合
Comments:0
Trackbacks:0
- TrackBack URL for this entry
- http://www.hirano-dept.com/mt/mt-tb.cgi/91
- Listed below are links to weblogs that reference
- iPhone Core Animation レイヤーアニメーションについて from 袖触れ合うも多少の縁