我正在拍攝一張精靈表並將它分解成一個數組。然後,我將該陣列按照一定的粒度旋轉,並將其推到陣列的末端,以便預烘烤旋轉以便更快地繪製(無硬件加速)。最後的結果看起來是這樣的:計算陣列中的索引幫助算法
array[0] = frame1 of the animation
array[1] = frame2 of the animation
array[2] = frame3 of the animation
array[3] = frame1 of the animation rotated at 45 degrees
array[4] = frame2 of the animation rotated at 45 degrees
array[5] = frame3 of the animation rotated at 45 degrees
array[6] = frame1 of the animation rotated at 90 degrees
... etc
所以現在我想拿出與該會在合適的粒度返回正確的元素對於任何角度的功能。例如,假設我的遊戲中的對象當前旋轉了30度並且位於動畫的frame1上,我想要array [3]。如果我在動畫的frame2上,我會想要array [4]。如果對象被旋轉了80度並且在frame1上,我想要array [6],依此類推。
這些是我有常量: 動畫幀(預旋轉) 動畫幀(旋轉後) 的旋轉的粒度(從1到360,即,45粒度會的#的#是上面的例子)。
這是函數的計算框架簽名: function calculateImageIndex(animationFrame : Number, currentAngle : Number) : Number
如何計算這個任何想法?我很難過。
嘿,查爾斯,謝謝你的刺傷。 nf是否是旋轉之前或之後的幀數?我似乎無法讓它與任何工作,但它可能有助於以正確的方式指導我。 –