MarkPoint是什么效果?如上圖,一閃一閃亮晶晶的效果,這是在Echarts中對應(yīng)的效果。我最早看到的是騰訊的一個Flash的版本,顯示當(dāng)前QQ在線人數(shù)的全國分布效果,感覺效果很炫,當(dāng)時也在想,怎么用JS,HTML5來做出類似的效果,但說實話,沒什么思路,甚至懷疑JS是否做不出來這種逼真的效果來。終于看到Echarts中提供了這個功能。下面就扒開她絢麗的衣著,一起走進MarkPoint的世界。

數(shù)據(jù)

平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),游戲開發(fā),動畫培訓(xùn)

      首先還是先看看數(shù)據(jù)上的邏輯。上圖是一個數(shù)據(jù)格式,placeList包括每一個關(guān)鍵點的名稱和坐標(biāo)位置,而在風(fēng)格中主要有name,可以設(shè)置為強中弱三種,分別對應(yīng)MarkPoint圖中白藍綠三種效果,類型是中國地圖,而具體的風(fēng)格在存儲在markPoint字段中。我們在看看markPoint字段里面是什么內(nèi)容。

平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),游戲開發(fā),動畫培訓(xùn)

      如上就是markPoint里面的主要內(nèi)容,這里,每一個點是一個鉆石(diamond)的樣式,符號大小,還有一個effect的屬性,這就是它的動畫風(fēng)格,而data則用來加載placeList的信息。

      綜上所述,對于使用者而言,指定好要顯示markPoint的位置,也就是placeList,然后在賦予它們的具體效果,中國范圍,強弱類型以及具體的形狀(鉆石,矩形或圓形等),這樣就可以得到MarkPoint這樣的閃爍效果。

原理

      其實說原理有點夸大其詞。通過數(shù)據(jù)層面,可以看出來每一個點都是獨立的,如果你放大后,基本可以判斷出來各自完成自己的動畫效果,并一致循環(huán)下去。如果縮小后,你會發(fā)現(xiàn)所有的markPoint并不是同步的,頻率各不相同,顯得雜亂無章。(推薦TED的視頻:The First Secret of Great Design - Tony Fadell - TED Talks)。

      這樣,這個問題就分解成了兩個部分:

  • 如何模擬每一個點的閃爍效果

  • 如何管理大規(guī)模的點的閃爍周期

閃爍效果的實現(xiàn)

網(wǎng)友評論