2016-12-31 75 views
1

語境

鏈接精靈對於MWE的目的,我們將使用一個棒圖的下列圖像: enter image description here夫特SKSpriteNode:由圖像特徵

與具有這些子畫面的一個鏈的目標移動,手拉手,穿過屏幕: enter image description here

值得注意的是,棒圖形象本身比這個棒形圖的臂跨寬。但是,背景是透明的。

取決於應用,可以使一個類,無論是從SKSpriteNode繼承或封裝它,例如一個名爲Person的類,用於存儲附加信息,其中可能有一個數組var people = [Person]()

問題

1)假設你有上述Person類的兩個實例,每個精靈以簡筆畫形象。一個人如何以編程的方式定位他們 - 讓這些精靈們「手牽手」觸摸,儘管圖像有一個透明背景?當然,可以花一些時間尋找一個間距參數來確保達到這個目的,但是這個參數總是必須通過反覆試驗來重新計算,如果這些精靈被重新縮放的話。

2)給定一個鏈,這些精靈,攜手並進,何以動畫它們以相同的速度在屏幕上移動?如果一個計算)在1提到的間隔參數那麼SKAction可以給予每個Person,使得它們的端部位置偏移(但行進的總距離是相同的),其中TimeInterval所保持相同。有沒有辦法告訴所有的精靈移動到左邊,直到屏幕以每秒$ x $像素的速度出現?

回答

1

看起來你已經回答大多是自己的問題了,但這裏有一些額外的想法:

  1. 使間距值成正比的精靈的大小。

  2. 是的,有一個SKAction給定距離超過給定時間內(有效速度)移動的精靈:let moveAction = SKAction.moveBy(x: 10, y: 0, duration: 2)

+0

2.就是我所指了。我的意思是如果沒有一個SKAction可以在沒有固定終點的情況下在軌跡上設置速度。 – SumNeuron

+0

你也可以給節點一個物理體並設置它們的'velocity'屬性。 – nathan