看板 Flash 關於我們 聯絡資訊
※ 引述《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)
submarine:嗯 謝謝您的教導 我最近也在想從ACTIONSCRIPT下手解決 06/07 22:19
laugher:這不需要用到as吧... 06/08 01:38