<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          王者榮耀是如何手把手讓你上頭的

          共 3549字,需瀏覽 8分鐘

           ·

          2021-02-18 10:52

          時隔多日秋風(fēng)又回來了,這次帶來的主題是,王者榮耀是如何手把手讓你上頭的,對.... 其實這句話重點不是上頭,也不是王者榮耀,重點是"手把手"。

          為什么這么說呢?無圖無真相,先上圖。


          沒錯,上面的就是王者榮耀的新手引導(dǎo),手把手教學(xué),還有妲己美妙的聲音,讓人如此上頭。

          整個過程大約 2 分鐘。它使用了多種引導(dǎo)方式,蒙層引導(dǎo)、氣泡引導(dǎo)、視頻引導(dǎo)、操作引導(dǎo)還有預(yù)設(shè)任務(wù),可以說在新手引導(dǎo)方面,真的很"細",用了各種各樣的花樣。但是它用了僅僅 2 分鐘的指引就讓你快速體驗到了整個產(chǎn)品的使用方式,讓你感受到打敗敵人是如此滿足,贏得一場游戲是如此簡單。你收獲了大量的快樂同時產(chǎn)生對它的依賴。

          而如果說,沒有新手指引,讓一個沒有從來沒有玩過此類游戲的新人,就上手一個 5v5 的戰(zhàn)斗,在自己還沒弄懂操作,就上手實戰(zhàn),那么新人肯定會被打的很慘,受到隊友的抱怨不說,很快會輸?shù)粢粓霰荣?,從而產(chǎn)生挫敗感,覺得這個游戲垃圾,更不用說從游戲中體驗快感。


          所以說新手引導(dǎo)是一種能讓用戶在短時間內(nèi)快速了解產(chǎn)品特色以及產(chǎn)品使用方式。

          它是非常重要也是非常有必要學(xué)習(xí)的一個功能!這也是本篇文章想要介紹的重點內(nèi)容。下面就進行原理實戰(zhàn)講解

          我先介紹一下常見的幾種類型新手引導(dǎo)效果圖。

          1.引導(dǎo)頁

          引導(dǎo)頁一般出現(xiàn)在首次打開APP的時候,由3-5個頁面組成。


          2.蒙層引導(dǎo)

          在產(chǎn)品的整個界面上方用一個黑色半透明蒙層進行遮罩,這種引導(dǎo)方式可以讓用戶聚焦了解被圈注的功能點或手勢說明。


          3.氣泡/彈窗提示

          在操作按鈕旁邊彈出一個氣泡提示框或者直接彈出彈窗。


          4.動畫/視頻引導(dǎo)

          用戶可以根據(jù)動態(tài)演示,很快地理解整個產(chǎn)品。


          5.操作式引導(dǎo)

          一步一步地引導(dǎo)你進行操作,鼓勵用戶參與其中,邊學(xué)邊用。


          6.預(yù)設(shè)任務(wù)

          預(yù)設(shè)任務(wù)是指在用戶進入產(chǎn)品后,自動為用戶創(chuàng)建了一些和產(chǎn)品形態(tài)相關(guān)的示例,而不是留給用戶一個空頁面。


          人將降大任于斯人也,所以最近我就遇到了這樣的一個需求。不過我需要實現(xiàn)的也比較簡單,只需要實現(xiàn)蒙層引導(dǎo)。

          今天我們就來實現(xiàn)一下這個功能。先來看一下我們目標(biāo)的樣子。核心代碼大概只需要花5分鐘就能學(xué)會,只需 9 行 js 代碼,60 行 CSS?代碼。所以接著往下看吧 ~ 高亮部分會有不一樣的收獲哦 ~


          主要包括三個部分: 蒙層、氣泡、高亮。

          蒙層和氣泡對于很多同學(xué)來說,真的是太熟悉了。這里就只貼代碼了,沒有什么過多的可以講解,主要是利用了絕對定位。

          //?蒙層實現(xiàn)
          <style>
          .guide-mask?{
          ??z-index:?999999;
          ??background-color:?#000;
          ??top:?0;
          ??bottom:?0;
          ??left:?0;
          ??right:?0;
          ??position:?fixed;
          ??opacity:?0.8;
          }
          style>
          <div?class="guide-mask">div>
          //?氣泡實現(xiàn)
          <style>
          .tooltip-box:before?{
          ??content:?"";
          ??position:?absolute;
          ??right:?100%;
          ??top:?-10px;
          ??left:?20%;
          ??width:?0;
          ??height:?0;
          ??border-left:?10px?solid?transparent;
          ??border-right:?10px?solid?transparent;
          ??border-bottom:?13px?solid?white;
          }
          style>
          <div?class='tooltip-box'>
          ??秋風(fēng)的技能
          div>

          而這個高亮怎么實現(xiàn)呢?如何能讓蒙層中間產(chǎn)生一個空白框呢?在我所知的 CSS 屬性中并沒有相關(guān)的屬性可以實現(xiàn)這個特性,如果不能這樣實現(xiàn)。那意味著我是不是需要自己將這個高亮區(qū)塊給空出來呢,自己通過拼接的方式來實現(xiàn)。如下所示,這是我第一直覺想到的方案。


          而后我又使用了第二種方式。先來看一下實現(xiàn)方案的圖層分解。


          是的,通過圖層分解,我們可以看到,目標(biāo)的元素那一行"秋風(fēng)的技能"是處于最高層,而不是和 "秋風(fēng)的筆記"文字處于同一層。因此采取的方案是,我們沒辦法讓蒙層在中間空出來,但是,我們可以通過?z-index?讓我們的目標(biāo)元素置于蒙層之上,然后再在蒙層和目標(biāo)元素之間加入一個白色的背景框,這樣就達到了高亮的效果。

          關(guān)于定位,我們通過?getBoundingClientRect?屬性來獲取目標(biāo)元素的大小及其相對于視口的位置。然后通過絕對定位來進行布局。以下就是這個實現(xiàn)的主要邏輯(代碼比較粗糙,主要是意思表達

          <style>
          ??...
          ??.guide-helper-layer?{
          ????position:?absolute;
          ????z-index:?9999998;
          ????background-color:?#FFF;
          ????background-color:?rgba(255,?255,?255,?.9);
          ????border-radius:?4px;
          ??}
          ??.guide-content?{
          ????position:?absolute;
          ????z-index:?10000000;
          ????background-color:?transparent;
          ??}
          ??.guide-mark-relative?{
          ????position:?relative;
          ????z-index:?9999999?!important;
          ??}
          ??...
          style>
          head>
          <body>
          ????<h2>秋風(fēng)的筆記h2>
          ????<div?class="skill?guide-mark-relative">
          ????????...
          ????div>
          ????<div?class="guide-mask">div>
          ????<div?class="guide-helper-layer"?style="width:?472px;?height:58px;?top:55px;left:?36px;">
          ????????<div?class='tooltip-box'>
          ????????????秋風(fēng)的技能
          ????????div>
          ????div>
          ????<script>
          ????????const?guideTarget?=?document.querySelector('.skill')
          ????????const?tooltip?=?document.querySelector('.tooltip-box')
          ????????var?rect?=?guideTarget.getBoundingClientRect()
          ????????const?helperLayer?=?document.querySelector('.guide-helper-layer')
          ????????helperLayer.style.left?=?rect.left?-?3?+?'px'
          ????????helperLayer.style.top?=?rect.top?-?3?+?'px'
          ????????helperLayer.style.width?=?rect.width?+?3?*?2?+?'px'
          ????????helperLayer.style.height?=?rect.height?+?3?*?2?+?'px'
          ????????tooltip.style.top?=?rect.height?+?3?*?2?+?10?+?5?+?'px'
          script>

          以上就是實現(xiàn)一個蒙層引導(dǎo)的實現(xiàn)方案。當(dāng)然這么精妙的設(shè)計也是離不開偉大的開源項目,以上就是參考了開源項目?introjs?來實現(xiàn)的。

          我順便來介紹一下目前我看到新手引導(dǎo)比較好的幾個開源項目。

          jquery-pagewalkthrough

          優(yōu)勢: 手繪風(fēng),適用于特定的網(wǎng)站風(fēng)格。

          缺點: 需要依賴 jQuery。


          intro.js

          優(yōu)勢: 擁有豐富的蒙層引導(dǎo)示例,可自定義主題

          缺點: 個人免費,商業(yè)需要付費。


          driver.js

          優(yōu)勢: MIT 開源,擁有與 intro.js 差不多的功能。

          缺點: 示例沒有 intro.js 豐富。


          綜合來講的話,driver.js 優(yōu)勢比較明顯(因為可以商用~)。至此,本文就到此結(jié)束了,歡迎大家留言討論哦~

          參考

          https://zhuanlan.zhihu.com/p/33508501

          https://www.zhihu.com/question/20295898

          http://www.woshipm.com/ucd/3506054.html

          https://juejin.im/post/6844903859786104839

          小獅子有話說

          你好,我是 Chocolate,一個獅子座的前端攻城獅,希望成為優(yōu)秀的前端博主,每周都會更新文章,與你一起變優(yōu)秀~

          1. 關(guān)注小獅子前端,回復(fù)【小獅子】獲取為大家整理好的文章、資源合集
          2. 我的博客地址:yangchaoyi.vip 歡迎收藏,可在博客留言板留下你的足跡,一起交流~
          3. 覺得文章不錯,【點贊】【在看】支持一波 ??ヽ(°▽°)ノ?

          叮咚~ 可以給小獅子加星標(biāo),便于查找。感謝加入小獅子前端,最好的我們最美的遇見,我們下期再見~

          瀏覽 125
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  青娱乐国产在线播放 | 韩国久久精品 | 欧美一区高清 | 精品av在线观看 精品久久中文字幕 | 97色色五月天 |