隨時開始隨時結束的抽獎轉盤

公司要實現點擊抽獎開始動畫,結果返回后緩慢停止到抽獎區域,在網上Google出來的大部分轉盤demo都是等抽獎結果返回開啟動畫,經過兩天的研究,可以隨時開始與結束的轉盤分享給大家(主要難點在于計算減速動畫速度的計算)。

先上結果展示圖(圓形轉盤):


圓形轉盤圖,盜用網上素材,諸君莫怪


ps:圓形轉盤因為性能的緣故在模擬器可能效果有些不理想,請以真機為主

來人吶,上代碼:

點擊開始按鈕,開啟定時器,無限執行旋轉動畫


無限旋轉動畫

點擊停止按鈕,首先停止無限旋轉動畫


停止無限旋轉動畫

在無限旋轉的動畫停止的回調里開啟緩慢結束動畫:


關鍵代碼,根據減速過程的平均速度,計算減速時間

關鍵點:

1.為了確保最終指向的位置和無限旋轉動畫的位置之間的過程太短導致減速太突兀,所以減速動畫會額外旋轉一圈

2.random是模擬出的抽獎結果,計算出將要減速的路程一圈+抽獎結果,減速過程的平均速度為將要開始減速時的速度的一半(小學知識??),路程/平均速度=減速時間,設置動畫快進慢出,減速動畫搞定。


以及老虎機樣式的轉盤

老虎機轉盤的大致原理和圓形轉盤的相同,參考代碼。

代碼下載?

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,067評論 25 708
  • 在iOS中隨處都可以看到絢麗的動畫效果,實現這些動畫的過程并不復雜,今天將帶大家一窺iOS動畫全貌。在這里你可以看...
    F麥子閱讀 5,141評論 5 13
  • 在iOS中隨處都可以看到絢麗的動畫效果,實現這些動畫的過程并不復雜,今天將帶大家一窺ios動畫全貌。在這里你可以看...
    每天刷兩次牙閱讀 8,551評論 6 30
  • 發現 關注 消息 iOS 第三方庫、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,198評論 4 61
  • 公司資產,胸卡交給人事之后,終于我離開了公司。2015年2月入職,2年半的時間,900天說長不長,說短不短,但是下...
    咸鴨蛋只吃蛋白哦閱讀 607評論 1 0