公司要實(shí)現(xiàn)點(diǎn)擊抽獎(jiǎng)開(kāi)始動(dòng)畫,結(jié)果返回后緩慢停止到抽獎(jiǎng)區(qū)域,在網(wǎng)上Google出來(lái)的大部分轉(zhuǎn)盤demo都是等抽獎(jiǎng)結(jié)果返回開(kāi)啟動(dòng)畫,經(jīng)過(guò)兩天的研究,可以隨時(shí)開(kāi)始與結(jié)束的轉(zhuǎn)盤分享給大家(主要難點(diǎn)在于計(jì)算減速動(dòng)畫速度的計(jì)算)闻丑。
先上結(jié)果展示圖(圓形轉(zhuǎn)盤):
ps:圓形轉(zhuǎn)盤因?yàn)樾阅艿木壒试谀M器可能效果有些不理想,請(qǐng)以真機(jī)為主
來(lái)人吶,上代碼:
點(diǎn)擊開(kāi)始按鈕,開(kāi)啟定時(shí)器,無(wú)限執(zhí)行旋轉(zhuǎn)動(dòng)畫
點(diǎn)擊停止按鈕,首先停止無(wú)限旋轉(zhuǎn)動(dòng)畫
在無(wú)限旋轉(zhuǎn)的動(dòng)畫停止的回調(diào)里開(kāi)啟緩慢結(jié)束動(dòng)畫:
關(guān)鍵點(diǎn):
1.為了確保最終指向的位置和無(wú)限旋轉(zhuǎn)動(dòng)畫的位置之間的過(guò)程太短導(dǎo)致減速太突兀,所以減速動(dòng)畫會(huì)額外旋轉(zhuǎn)一圈
2.random是模擬出的抽獎(jiǎng)結(jié)果,計(jì)算出將要減速的路程一圈+抽獎(jiǎng)結(jié)果,減速過(guò)程的平均速度為將要開(kāi)始減速時(shí)的速度的一半(小學(xué)知識(shí)??),路程/平均速度=減速時(shí)間,設(shè)置動(dòng)畫快進(jìn)慢出,減速動(dòng)畫搞定烈疚。
老虎機(jī)轉(zhuǎn)盤的大致原理和圓形轉(zhuǎn)盤的相同,參考代碼。
代碼下載?