滑動屏幕后圓盤開始沿著y軸旋轉(zhuǎn),圓盤看到的這一面是獎品圖,每翻轉(zhuǎn)一次更換獎品圖,停止旋轉(zhuǎn)后當前圓盤的獎品就是中獎結(jié)果!
問題:
自己琢磨了一下,解決了,基本思路就是:
只設(shè)置一個旋轉(zhuǎn)元素,通過旋轉(zhuǎn)過程中設(shè)置元素的內(nèi)容來實現(xiàn)獎品切換。
把360旋轉(zhuǎn)一周分成四次動畫來實現(xiàn),每個動畫周期只旋轉(zhuǎn)90度,每個動畫周期動畫的執(zhí)行設(shè)置為勻速的。在旋轉(zhuǎn)角度90,270,450 .....時設(shè)置元素內(nèi)容實現(xiàn)切換,因為此時人眼看到轉(zhuǎn)盤時是一條線,是切換獎品圖案的最佳時機。
此時會遇到一個問題:因為轉(zhuǎn)盤分正面和背面,比如已經(jīng)旋轉(zhuǎn)90度時,切換后進行從90->180度旋轉(zhuǎn)的時候,人眼看到的是轉(zhuǎn)盤的背面,從背面看過去獎品圖是反的,所以此時需要對獎品圖的元素進行一次180翻轉(zhuǎn),這樣即便轉(zhuǎn)盤是背面,看到的獎品圖就是正的,從270 -> 360 的過程中因為看到的是正面,就不用對獎品圖翻轉(zhuǎn),根據(jù)已經(jīng)旋轉(zhuǎn)的角度判斷一下即可。
為什么考慮每次動畫周期設(shè)置只轉(zhuǎn)90度?而且每次動畫設(shè)置為勻速?
這是因為我通過寫一個控制器,控制器返回下一次動畫執(zhí)行的時長,根據(jù)動畫已經(jīng)執(zhí)行的次數(shù)來控制時長的返回:隨著次數(shù)增加,一次動畫的時長從200ms(開始速度) -> 50ms(最快) -> 500ms(最慢),這樣一來,雖然一次動畫的過程是勻速的,但下一次動畫執(zhí)行如果時長更短,看起來就是后一次轉(zhuǎn)的比第一次快,多次連續(xù)執(zhí)行看起來可以做到先加速再減速的過程。我這里設(shè)置一次動畫只旋轉(zhuǎn)90度,即旋轉(zhuǎn)一周是四次不同的速度,360度里細分的越細效果越好,我細分90度一個單位也表現(xiàn)很完美了,而且這還能很好的配合切換獎品時機 2n+1 個90度時)的判斷。
有了以上思路,關(guān)鍵就是考慮如何判斷上一次動畫結(jié)束時機,這樣才能上一次結(jié)束了就馬上調(diào)用下一次。
這里簡單的來做可以使用jquery提供的animate 方法,最后一個參數(shù)就是動畫結(jié)束后的回調(diào)方法,回調(diào)方法里遞歸調(diào)用自己寫的動畫執(zhí)行即可;如果想挑戰(zhàn)一下,自己實現(xiàn)一個animate即可,谷歌一樣教程很多。我用promise實現(xiàn)的。
最后你可以設(shè)定一個最小的轉(zhuǎn)動次數(shù),達到這個次數(shù),就把服務(wù)器獲取到的中獎結(jié)果的圖樣設(shè)置到轉(zhuǎn)盤元素上,然后停止....
做完后的樣子:
北大青鳥APTECH成立于1999年。依托北京大學優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
北大青鳥中博軟件學院創(chuàng)立于2003年,作為華東區(qū)著名互聯(lián)網(wǎng)學院和江蘇省首批服務(wù)外包人才培訓基地,中博成功培育了近30000名軟件工程師走向高薪崗位,合作企業(yè)超4
中公教育集團創(chuàng)建于1999年,經(jīng)過二十年潛心發(fā)展,已由一家北大畢業(yè)生自主創(chuàng)業(yè)的信息技術(shù)與教育服務(wù)機構(gòu),發(fā)展為教育服務(wù)業(yè)的綜合性企業(yè)集團,成為集合面授教學培訓、網(wǎng)
達內(nèi)教育集團成立于2002年,是一家由留學海歸創(chuàng)辦的高端職業(yè)教育培訓機構(gòu),是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
曾工作于聯(lián)想擔任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責任公司從事總經(jīng)理職務(wù)負責iOS教學及管理工作。
浪潮集團項目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗,技術(shù)功底深厚。 授課風格 授課風格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。