2012-04-24 473 views
0

我希望你們中的一些人已經與tween.js(庫的create.js套件的一部分)一起工作。在TweenJS循環後暫停

我有一個JS小提琴給你看我的問題:http://jsfiddle.net/qyp8Y/1/

我每8步驟循環,這不應該出現後,看不到一個暫停。

有人可以看看它,告訴我我做錯了什麼嗎?

謝謝!

回答

2

當然,讓我們一步雖然有些代碼:

for (i = 0; i <= 8; i++) { 
    t.to({ 
     rotation: 45 * i 
    }, 1000, Ease.elasticOut).wait(200); 
} 

這裏是要創建在這個循環中的值:

i : rotation 
0 : 0 
1 : 45 
2 : 90 
3 : 135 
4 : 180 
5 : 225 
6 : 270 
7 : 315 
8 : 360 

請注意,你的目的0和360相同的值。這意味着當循環從頭開始時,它從360到0(或無處)補間一整秒。

您的對象從旋轉0開始,並且無法將補間移除到360.但是,您可以通過從補間開始到45(從1開始)將冗餘補間刪除到0/360。

這改變這個結果(注:我也改變了方便,所以我可以看得更清楚):

for (i = 1; i <= 8; i++) { 
    t.to({ 
     rotation: 45 * i 
    }, 1000, Ease.quadInOut).wait(200); 
} 

當然,要解決的下一個問題是如何使齒輪旋轉,但不輸正確的照明/陰影方向。我會把它留給你。

更新:我通過你提交的github問題找到了這個。

+0

史詩,非常感謝!齒輪是我可以在谷歌的緩存中找到的最簡單的設備,我真正的齒輪可能會使用代碼從我在Inkscape中的gears.py擴展中竊取。 :)我只是想出瞭如何以隨機的角度將齒輪彼此相鄰放置,並且齒條很好地互鎖。 (但現在只使用一種尺寸的齒輪,不同的齒輪比會使這個更有趣。) – rdrey 2012-04-30 22:19:23