2016-11-28 58 views
1

我有這樣一個要求:如何在ios中的矩形框上動畫圖像?

提供4個移動的汽車,將走過矩形。 它們的上衣應該總是在矩形外面,如圖所示。 當汽車達到轉彎時,應該轉彎。 enter image description here

能否請您給我提供了一些iOS的示例代碼或任何想法我怎麼能處理這個任務?

+0

你檢查[雪碧套件(https://developer.apple.com/spritekit/)。發佈問題之前,您是否嘗試過自己嘗試過?請詢問您遇到困難的具體問題。 – lukya

+0

@ lukya,我會嘗試這個SDK,我還沒有任何想法如何做到這一點?這就是我發佈這個問題的原因。請幫助我。我如何處理這個查詢? –

+0

您可以嘗試[UI視圖動畫](https://developer.apple.com/reference/uikit/uiviewanimating)以獲取簡單的輕量級動畫或上面提到的[Sprite Kit](https://developer.apple.com/spritekit /)爲更好,更多參與(和重)動畫。嘗試搜索簡單的iOS動畫代碼(在線有許多教程),並嘗試先爲一輛汽車實現動畫,然後嘗試將其擴展爲全部4.然後,如果您遇到任何特定問題/場景,請詢問詳細的問題與你的嘗試,出了什麼問題,以及你被卡住的地方(用你的代碼片段)。 – lukya

回答

0

一個可能的解決方案是嵌套四個動畫。每邊一個。也許在遞歸方法中,只改變中心點。

試試這個在操場上得到的想法:

var container = UIView(frame: CGRect(x: 0.0, y: 0.0, width: 200.0, height: 200.0)) 
container.clipsToBounds = false 
let view = UIView(frame: CGRect(x: 0.0, y: 0.0, width: 20.0, height: 20.0)) 
view.center = CGPoint(x: 0.0, y: 0.0) 
view.backgroundColor = UIColor.green 
container.addSubview(view) 
PlaygroundPage.current.liveView = container 

UIView.animate(withDuration: 1.0, delay: 0.0, options: [], animations: { 
    //rotate 90° 
    view.center = CGPoint(x: container.frame.size.width, y: 0) 
}, completion: { (finished: Bool) in 
    UIView.animate(withDuration: 1.0, delay: 0.0, options: [], animations: { 
     //rotate 90° 
     view.center = CGPoint(x: container.frame.size.width, y: container.frame.size.height) 
    }, completion: { (finished: Bool) in 
     //...   
}) 
})