嗨,我完全與CGAffineTransform動畫混淆。我想要做的就是將精靈從右邊的位置移動到左邊的位置。當它停止時,我想「重置」它,即將其移回到它開始的位置。如果應用程序退出(使用多任務處理),我想在開始時重新設置位置並重復動畫。iPhone幫助與動畫CGAffineTransform重置?
這是我在用,使動畫..
[UIImageView animateWithDuration:1.5
delay:0.0
options:(UIViewAnimationOptionAllowUserInteraction |
UIViewAnimationOptionCurveLinear
)
animations:^(void){
ufo.transform = CGAffineTransformTranslate(ufo.transform, -270, 100);
}
completion:^(BOOL finished){
if(finished){
NSLog(@"ufo finished");
[self ufoAnimationDidStop];
}
}];
據我瞭解的CGAffineTransforms只是視覺上讓精靈看起來像它的移動,但實際上並沒有移動。因此,當我嘗試「重置」位置使用
ufo.center = CGPointMake(355,70);
它什麼都不做。
我有什麼工作,如果我叫
ufo.transform = CGAffineTransformTranslate(ufo.transform,270,-100);
它重置。問題是,如果我在動畫中途退出應用程序,那麼當它重新啓動時,它不一定從一開始就開始,並且它不會到正確的位置,它基本上會變得瘋狂!
有沒有辦法刪除應用到它的任何轉換?我正在考慮只使用計時器,但這種方法應該工作時,這似乎很愚蠢。我一直在努力這一段時間,所以任何幫助將不勝感激。
由於
非常感謝,我一直在努力奮鬥這麼久!有一個問題,我可以檢查一下在我稱之爲這一行之前是否應用了轉換 - 或者我甚至需要嗎?我想確保當應用程序變爲活動狀態時,所有動畫都會重置,但它們可能已經或可能未被轉換? – user157733 2010-11-22 22:27:09