Re: [問題] 怎樣讓影格跑的比較慢?

看板Flash作者 (黃皮)時間19年前 (2006/06/04 19:53), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《submarine (submarine)》之銘言: : 我想設計像是轉盤抽獎的東西,就是一個轉盤上有1~6 : 按下開始會 轉盤會開始轉,從快到最後停下來,指針指到轉盤上的的就是獎品 : 我現在想到的是用補間動畫再把轉盤變形轉角度。 : 但是問題來了,我要怎麼讓轉盤從快變到慢,最後停下來? : 因為如果是用影格的話轉的速度就一樣了…… : 還是有辦法讓影格跑的比較慢?? : 各位大大請指教 我猜你要的應該不是讓「影格」跑慢, 而是要使轉盤的「轉速」隨時間的經過而逐漸下降吧…!? 我大概寫了一小段as, 你只要複製到主時間軸的第一影格中, 並新增一個實體名稱為「abc_mc」的影片片段, 拉到主時間軸上,就可以進行測試。 var x:Number = new Number(); var y:Number = new Number(); _root.onMouseDown = function() { x = Math.PI/180*0; _root.onEnterFrame=function(){ while (x<=(Math.PI/2) && x>=0) { x = x+(Math.PI/180); y = 5*Math.cos(x); abc_mc._rotation += y; trace(y); break; } }; }; 概念其實很簡單, 是利用cos函數在弧度(0~π/2)之間, 其函數值是由1緩降至0的原理, 只不過不夠逼真就是了。 若將其值對應到你要的MovieClip的旋轉角度上, 也就表示它會逐漸停止。 特別在於「y = 5*Math.cos(x);」一式中我將函數值放大了5倍, 目的僅在於讓該MovieClip轉過的角度大一點。 trace只是讓我自己知道它跑過的所有數值資料; 而把fps調得高一些,它轉得也會快些。 以上, 提供給你參考。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.115.216.24 ※ 編輯: hanshiuan 來自: 140.115.216.24 (06/04 20:48) ※ 編輯: hanshiuan 來自: 140.115.216.24 (06/04 20:49)

06/07 22:19, , 1F
嗯 謝謝您的教導 我最近也在想從ACTIONSCRIPT下手解決
06/07 22:19, 1F

06/08 01:38, , 2F
這不需要用到as吧...
06/08 01:38, 2F
文章代碼(AID): #14WicWx6 (Flash)
討論串 (同標題文章)
文章代碼(AID): #14WicWx6 (Flash)