2013-08-05 187 views
0

只是尋找一些意見/幫助下:CoronaSDK旋轉精靈順利

我有我已經設置了使用航點的路徑,當敵人到達停靠點它移動到下一個一。我已經設置了下一個精靈的角度在路點的屬性中播放,但我需要順利地轉動。我的精靈每22.5度渲染高達360度,一些路徑轉向90度。所以精靈可以在45度播放序列,並且到達下一個要播放的序列可以是135度精靈的路點。那麼我怎麼才能讓這個變得更好,更順利,而不是從45直線跳到135?

回答

1

不是直接設置對象的旋轉,而是嘗試設置目標旋轉,然後對其進行插值。

例如:

--Sprite is currently rotated 45 degrees, I now want it to change to 135 degrees 
mySprite.targetRotation = 135 

現在在enterFrame事件功能(如果你不已經有一個,那麼你將需要添加一個):

local function Update(event) 

local turnSpeed = 0.5 
mySprite.rotation = mySprite.rotation + turnSpeed * (mySprite.targetRotation - mySprite.rotation) 

end 

的turnSpeed變量應該是在0.0001到1之間,取決於你希望他們轉多快(0.0001將意味着它變得非常緩慢,1將是瞬間的)。

鑑於您大概有多個這些精靈,您需要將它們放在一張表中,並將該計算應用於該表中的所有對象。