在我的應用程序中,我想移動一個小小的UIImageView在.png中;這是一隻小昆蟲,我想模擬他的飛行。舉例來說,我希望這個PNG在移動一個倒八時作爲無限simbol∞IOS:移動UIImageView
0
A
回答
2
您可以使用CoreAnimation。您可以爲視圖創建子類,爲昆蟲創建子視圖,然後按照定義的路徑爲其分配動畫。
你的UIImageView可以動畫。如果它是一隻蒼蠅,你可以爲翼移動做了幾幀:
NSArray *images = [NSArray arrayWithObjects:..., nil];
insect.animationImages = images;
insect.animationDuration = ??;
insect.animationRepeatCount = 0;
[insect startAnimating];
然後爲昆蟲的初始化幀:
insect.frame = CGRectMake(-120, 310, [[images objectAtIndex:0] size].width, [[images objectAtIndex:0] size].height);
,然後定義路徑:
CGMutablePathRef aPath;
CGFloat arcTop = insect.center.y - 50;
aPath = CGPathCreateMutable();
CGPathMoveToPoint(aPath, NULL, insect.center.x, insect.center.y);
CGPathAddCurveToPoint(aPath, NULL, insect.center.x, arcTop, 240, -100, 490, 360);
CAKeyframeAnimation* arcAnimation = [CAKeyframeAnimation animationWithKeyPath: @"position"];
arcAnimation.repeatCount = HUGE_VALF;
[arcAnimation setDuration: 4.5];
[arcAnimation setAutoreverses: NO];
arcAnimation.removedOnCompletion = NO;
arcAnimation.fillMode = kCAFillModeBoth;
[arcAnimation setPath: aPath];
CFRelease(aPath);
[insect.layer addAnimation: arcAnimation forKey: @"position"];
我離開了如何去做無限循環路徑:)
希望它有幫助!
0
通常情況下,如果你要移動東西,我建議使用[UIView動畫...]。但是,您希望在複雜的曲線路徑上移動。相反,我建議提出一個公式,給出昆蟲的(x,y)作爲時間的函數,然後以相當小的時間間隔開始一個NSTimer,並且每次獲得更新時,移動昆蟲(也許使用[UIView animate ...])。
另一種方法是使用2-d動畫框架,例如cocos2d - 然後,您可以獲得與幀刷新率鏈接的'更新'調用,在該更新調用中您更新了昆蟲的位置與上面相同的方程。
相關問題
- 1. iOS - 爲什麼我的UIImageView在移動?
- 2. iOS:在UIImageView之間移動圖像
- 3. iOS:如何移動UIImageView中的圖像
- 4. 移動uiimageview動畫
- 5. IOS:動畫與UIImageView
- 6. 無法移動UIImageView
- 7. 用UIPanGestureRecognizer移動UIImageView
- 8. UIImageView內移動UIImage
- 9. 如何移動UIImageView?
- 10. 用觸摸移動UIImageview在UIView中按下任意位置時移動IOS
- 11. 圍繞圓周移動UIImageView?
- 12. 移動和旋轉UIImageView
- 13. 可移動的UIImageView掩蓋
- 14. 移動時鎖定UIImageView
- 15. iOS;如何縮放UIimageView(永久),然後移動它
- 16. iOS - 使用NSTimer移動框架時旋轉UIImageView或UIImage
- 17. 嘗試在iOS中移動後尋找UIImageView的新中心點
- 18. 如果移動,UIImageView將縮放而不是旋轉,iOS
- 19. 需要在iOS中找到可移動UIImageView的最終位置
- 20. 簡單移動uiimageview代碼不動畫
- 21. 爲什麼手動移動UIImageView變慢?
- 22. UIImageView與iOS GLES
- 23. 變暗UIImageView IOS
- 24. 偏移UIimageview
- 25. iOS - 在動畫之後移動UIImageView重置爲原始位置,爲什麼?
- 26. 移動到IOS
- 27. 如何將UIimageView移動到另一個UIImageView上
- 28. 以編程方式設置UIImageView會導致UIImageView移動?
- 29. 帶有約束的UIImageView的Ios動畫
- 30. iOS的UIImageView不會自動刷新
我無法做一個循環路徑,你能幫助我嗎? – CrazyDev
看看這個:http://developer.apple.com/library/ios/#documentation/2DDrawing/Conceptual/DrawingPrintingiOS/BezierPaths/BezierPaths.html //你必須使用兩個半圓和兩條線(at至少對於更簡單的∞版本)。在此圖像中:http://twitpic.com/6yynco每條彩色線代表需要創建的路徑線。 –