iT邦幫忙

2024 iThome 鐵人賽

DAY 19
0
生成式 AI

人人都是工程師的時代來臨了嗎?!系列 第 19

D19 主頁的隱藏版任務 & 主角會飛?

  • 分享至 

  • xImage
  •  

剛打開滑一滑,在測試途中發現奇怪的事!
在主頁很順手地想用左右鍵來移動
沒想到按了之後觸發這個
https://ithelp.ithome.com.tw/upload/images/20240920/20111174MKsFCFiB2K.png

測試一下,應該是在當下那關的布景上觸發的
也就是雖然我已經退出關卡,卻可以繼續移動當下關卡內的角色,還可以觸發到關卡內的任務點!
這實在超奇怪的
給它改改
https://ithelp.ithome.com.tw/upload/images/20240920/20111174EEaNM5xio1.png
結果他給的方法都沒用

話說我現在慢慢習慣一次貼一點點的改法了,畢竟他其實蠻常生出沒用的東西
一次全貼很容易多很多廢code,變成維修困難

後來又丟一次全code也沒改成功

好ㄉ,既然對任務點沒輒,我們山不轉路轉
直接再回主頁時讓上下左右鍵失效就好ㄌ!
https://ithelp.ithome.com.tw/upload/images/20240920/201111741HnRiMBcL9.png
看他加了什麼酷東西
原來在此之前從來沒有進出關卡的狀態,現在才知道!

ChatGPT 改了進入、出關和上下左右鍵的使用條件

let isLevelActive = false; // 用來判斷是否處於關卡內

// Enter level button
enterLevelBtn.addEventListener('click', () => {
    mainPage.style.display = 'none';
    levelPage.style.display = 'block';

    //中間略

    // Create and display mission point
    createMissionPoint(); // Add the mission point when entering level

    isLevelActive = true; // 設置為關卡內
});

// Back to main page button
backToMainBtn.addEventListener('click', () => {
    //省略
    }

    // Hide dialogue box when returning to the main page
    //省略
    }

    isLevelActive = false; // 設置為關卡外
});

// Handle key presses for movement
document.addEventListener('keydown', (event) => {
    if (!isLevelActive) return; // 只有在關卡內時才允許移動

    switch (event.key) {
        case 'ArrowUp':
            characterY -= speed;
            break;
        case 'ArrowDown':
            characterY += speed;
            break;
        case 'ArrowLeft':
            characterX -= speed;
            break;
        case 'ArrowRight':
            characterX += speed;
            break;
    }
    updateCharacterInLevel(); // Update character position after moving
});

就修好啦!
回主頁再怎麼按都不會跳出關卡內任務了

再來發現主角會飛走

直接給大家看問題好ㄌ
https://ithelp.ithome.com.tw/upload/images/20240922/20111174zXmOcdDoIJ.png
就是呢
這是剛進關卡的畫面
https://ithelp.ithome.com.tw/upload/images/20240922/20111174INAvHCVh2i.png
這是一按方向鍵之後
https://ithelp.ithome.com.tw/upload/images/20240922/20111174LRUiGZN7Wd.png
別誤會,他跑得很慢,就是直接跳過去ㄉ

所以 chatGPT 就給了一大串東東
後來讀了一下,除了這幾行其他都沒動
https://ithelp.ithome.com.tw/upload/images/20240922/20111174RIUqGqA9eA.png
(看來讀code果然是讀久就會熟ㄌ)
改好之後現在每一關都會重回正中間開始ㄌ

https://ithelp.ithome.com.tw/upload/images/20240922/20111174tmzlxlSf40.png
後來也有問同步到上一關位置的改法
解法就是增加一組退出時存位置的函數

不過不知道哪樣比較好?
目前先用中間版本,應該會之後看內容決定(沒錯,內容還是沒想好)


上一篇
D18 歪七扭八的路
下一篇
D20 修不好的小問題(毫無進展)
系列文
人人都是工程師的時代來臨了嗎?!31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言