iT邦幫忙

2024 iThome 鐵人賽

DAY 13
0

https://ithelp.ithome.com.tw/upload/images/20240813/20144113RwocaRlwzu.jpg

主題

使用 Cornify.js 製作簡單的彩蛋效果。

成果

完整程式碼
Demo效果

實作重點

Javascript

  1. 會使用 cornify.js ,放到 <head>

    <script type="text/javascript" src="https://www.cornify.com/js/cornify.js"></script>
    
  2. 建立兩個的變數

    1. secretCode : 觸發彩蛋效果的密碼
    2. pressed : 紀錄使用者輸入的按鍵
    const pressed = [];
    const secretCode = 'hazel';
    
  3. 按鍵偵測:

    1. keyup 按鍵離開時,可以得到按鍵的值 e.key
    2. 把使用者按的值推到pressed 陣列中
    window.addEventListener('keyup', (e) => {
    		pressed.push(e.key);
    }
    
  4. 利用 splice 判斷, 然後切第一筆

    pressed.splice(-secretCode.length - 1, pressed.length - secretCode.length);
    
    • 比較好理解的方式如下
      1. if 判斷後 splice 切第一筆

        // 等於上面那一行,少掉判斷式
         if (pressed.length > secretCode.length) {
           pressed.splice(0, 1);
         }
        
      2. while 迴圈判斷後 shift

        while (pressed.length > secretCode.length) {
          pressed.shift();
        }
        
  5. 判斷是否為預設secretCode ,就執行 cornify.js

    if (pressed.join('').includes(secretCode)) {
      cornify_add();
    }
    

額外知識

可以看看其他類似的 JavaScript 庫來實現不同的彩蛋效果,另一款彩蛋 konami.js, Konami Code 科樂美代碼(Wikipedia),看完發現就是小時候玩遊戲常常會需要記的大絕密技XD


上一篇
【Day12】11 - Custom Video Player
下一篇
【Day14】13 - Slide in on Scroll
系列文
AI 時代,基礎要有:JavaScript30 打下紮實基礎31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言