識別問題
收集測試媒體
Section titled “收集測試媒體”任何錯誤回報流程的第一步是收集出問題的證明。簡單的訊息如「嘿,這個遊戲不能用」對我們的維護團隊沒有幫助。為了有效地修復問題,我們每次都需要三件事:
- 觸發錯誤的影片。我們理解您無法擷取鍵盤上的特效出錯,但遊戲影片就足夠了。
- 觸發錯誤的動作描述。請盡可能詳細。即使是小細節也能幫助我們快速識別問題來源。
- 您正在使用的螢幕解析度。沒有這個,我們的開發者必須檢查我們支援的每個解析度才能找到問題,這可能很耗時。
如果您是一位與我們公司沒有直接聯繫的 Lightscript 創作者,這些簡單的步驟仍然會對您自己的程式碼大有幫助。徹底的文件記錄結合對程式碼結構的理解,使識別問題成為一個直接的過程。
如果您是嘗試 DIY 維護的遊戲愛好者,請確保向我們發送可見問題的遊戲影片。我們或許能加快您的修復速度!
整合錯誤通常很容易發現——如果一個特效從不播放或播放太頻繁,顯然有些東西壞了。具有挑戰性的部分是確定導致問題的確切程式碼段。始終按照上一節概述的步驟識別問題,因為這將提供最清晰的路徑。以下是建議的錯誤修復流程:
-
檢查主控台記錄:
- 我們是否獲得了識別問題的任何主控台記錄?這裡的常見問題包括未宣告的變數、拼寫錯誤以及不正確的儀錶或形狀繪製範圍。SignalRGB 不會偵測到堆疊溢出,但它們很容易發現:SignalRGB 將首先當機,然後是您的電腦。作為負責任的程式設計師,避免讓您的應用程式無限計數。
-
檢查儀錶:
- 在遊戲過程中,特效是否在儀錶檢查器中觸發您的儀錶?如果是,您應該在儀錶視圖下方的黑色區域中看到白色出現。
- 如果儀錶放置不正確,使用我們的專有工具 (WindowSpy) 進行螢幕測量並調整
**<head>**部分中的儀錶放置。 - 如果這解決了問題,請記得為調整部分中的每個其他解析度調整儀錶。有關儀錶放置和正規化座標的說明可以在本文件的「智慧標籤」部分找到。
- 如果儀錶觸發正確,問題在其他地方。
- 如果儀錶放置不正確,使用我們的專有工具 (WindowSpy) 進行螢幕測量並調整
- 在遊戲過程中,特效是否在儀錶檢查器中觸發您的儀錶?如果是,您應該在儀錶視圖下方的黑色區域中看到白色出現。
-
檢查 Update 函式:
- 儀錶資料是否正確傳遞給 Meter 類別?
- 您是否插入了條件儀錶更新以應對複雜的 UI 行為?
- 如果一切看起來正常,直接在您的回呼函式內放置
console.log。記錄應在每次儀錶穩定時打印,即使特效沒有正確觸發。 - 如果記錄持續出現,問題在其他地方。
- 儀錶資料是否正確傳遞給 Meter 類別?
-
評估回呼函式:
- 我們知道回呼函式正在正確啟動,因為我們之前看到了記錄。現在,檢查特效中的條件語句是否準確。
- 如果沒有明顯的問題,在條件語句內添加
console.log語句,看看遊戲過程中是否有任何觸發不正確。 - 如果一切看起來都正常,問題可能在特效本身內。
- 如果沒有明顯的問題,在條件語句內添加
- 我們知道回呼函式正在正確啟動,因為我們之前看到了記錄。現在,檢查特效中的條件語句是否準確。
-
檢查特效動畫函式:
- 動畫函式可能差異很大,因此沒有萬能的建議。但是,為了有效率地除錯:
- 將特效移到空的 Lightscript 範本中並驗證您可以啟動它以在 SignalRGB 中查看動畫。
- 注意主控台並記下動畫中斷的位置。
- 隔離問題程式碼將為您節省時間,所以確保遵循此步驟。
- 動畫函式可能差異很大,因此沒有萬能的建議。但是,為了有效率地除錯: