ข้ามไปยังเนื้อหา

การระบุปัญหา

ขั้นตอนแรกในกระบวนการรายงานบั๊กทุกครั้งคือการรวบรวมหลักฐานว่ามีบางอย่างผิดปกติ ข้อความง่าย ๆ อย่าง “เฮ้ เกมนี้ใช้ไม่ได้” ไม่ได้ช่วยทีมดูแลรักษาของเรา เพื่อแก้ไขปัญหาได้อย่างมีประสิทธิภาพ เราต้องการสามสิ่งนี้ทุกครั้ง:

  • วิดีโอที่แสดงขณะบั๊กเกิดขึ้น เราเข้าใจว่าคุณไม่สามารถบันทึกเอฟเฟกต์ที่ผิดพลาดบนคีย์บอร์ดได้ แต่วิดีโอการเล่นเกมก็เพียงพอแล้ว
  • คำอธิบายการกระทำที่ทำให้เกิดบั๊ก โปรดให้รายละเอียดมากที่สุดเท่าที่จะทำได้ แม้แต่รายละเอียดเล็ก ๆ น้อย ๆ ก็ช่วยให้เราระบุต้นเหตุของปัญหาได้อย่างรวดเร็ว
  • ความละเอียดหน้าจอที่คุณใช้เล่น หากไม่มีข้อมูลนี้ นักพัฒนาของเราต้องตรวจสอบทุกความละเอียดที่เรารองรับเพื่อหาปัญหา ซึ่งอาจใช้เวลานาน

หากคุณเป็นผู้สร้าง Lightscript ที่ไม่ได้มีส่วนเกี่ยวข้องกับบริษัทของเราโดยตรง ขั้นตอนง่าย ๆ เหล่านี้ก็ยังช่วยคุณได้มากกับโค้ดของคุณเอง เอกสารประกอบที่ละเอียดรอบคอบ ควบคู่กับความเข้าใจโครงสร้างของโค้ด จะทำให้การระบุปัญหาเป็นกระบวนการที่ตรงไปตรงมา

หากคุณเป็นแฟนของเกมที่พยายามดูแลรักษาด้วยตัวเอง อย่าลืมส่งวิดีโอการเล่นเกมที่เห็นปัญหาให้เรา เราอาจช่วยเร่งการแก้ไขของคุณได้!

บั๊กของการผสานรวมมักสังเกตได้ง่าย หากเอฟเฟกต์ไม่เล่นเลยหรือเล่นบ่อยเกินไป แสดงว่ามีบางอย่างเสียอย่างชัดเจน ส่วนที่ท้าทายคือการระบุส่วนของโค้ดที่เป็นต้นเหตุของปัญหาอย่างแม่นยำ ให้เริ่มต้นด้วยการระบุปัญหาตามขั้นตอนที่อธิบายไว้ในส่วนก่อนหน้าเสมอ เพราะจะทำให้มีแนวทางที่ชัดเจนที่สุด ด้านล่างนี้คือกระบวนการแก้ไขบั๊กที่แนะนำ:

  • ตรวจสอบ Console Log:

    • มี console log ที่ระบุปัญหาหรือไม่? ปัญหาที่พบบ่อยในส่วนนี้ ได้แก่ ตัวแปรที่ไม่ได้ประกาศ คำที่สะกดผิด และช่วงการวาดมิเตอร์หรือรูปทรงที่ไม่ถูกต้อง SignalRGB จะตรวจไม่พบ stack overflow แต่สังเกตได้ง่าย: SignalRGB จะแครชก่อน ตามด้วยคอมพิวเตอร์ของคุณ เป็นโปรแกรมเมอร์ที่มีความรับผิดชอบ และอย่าทำให้แอปของคุณนับไปจนถึงอนันต์
  • ตรวจสอบมิเตอร์:

    • เอฟเฟกต์ทำให้มิเตอร์ของคุณทำงานใน Meter Inspector ระหว่างการเล่นเกมหรือไม่? หากใช่ คุณควรเห็นสีขาวปรากฏในพื้นที่สีดำใต้มุมมองมิเตอร์
      • หากมิเตอร์วางผิดตำแหน่ง ให้ใช้เครื่องมือเฉพาะของเรา (WindowSpy) เพื่อวัดหน้าจอและปรับตำแหน่งมิเตอร์ในส่วน **<head>**
      • หากวิธีนี้แก้ปัญหาได้ อย่าลืมปรับมิเตอร์สำหรับความละเอียดอื่น ๆ ทั้งหมดในส่วนการปรับแต่ง คำแนะนำเกี่ยวกับการวางมิเตอร์และพิกัดแบบนอร์มัลไลซ์อยู่ในส่วน “Smart Tags” ของเอกสารนี้
      • หากมิเตอร์ทำงานถูกต้อง ปัญหาอยู่ที่อื่น
  • ตรวจสอบฟังก์ชัน Update :

    • ข้อมูลมิเตอร์ถูกส่งไปยังคลาส Meter อย่างถูกต้องหรือไม่?
      • คุณได้ใส่การอัปเดต Meter แบบมีเงื่อนไขเพื่อรองรับพฤติกรรม UI ที่ซับซ้อนแล้วหรือยัง?
      • หากทุกอย่างดูเรียบร้อย ให้วาง console.log ไว้ภายในฟังก์ชัน callback ของคุณโดยตรง log ควรแสดงทุกครั้งที่มิเตอร์เสถียร แม้ว่าเอฟเฟกต์จะไม่ถูกเรียกใช้อย่างถูกต้องก็ตาม
      • หาก log ปรากฏอย่างสม่ำเสมอ ปัญหาอยู่ที่อื่น
  • ประเมินฟังก์ชัน Callback :

    • เรารู้ว่าฟังก์ชัน callback ทำงานถูกต้องเพราะเราเห็น log ก่อนหน้านี้แล้ว ตอนนี้ให้ตรวจสอบความถูกต้องของเงื่อนไขภายในเอฟเฟกต์
      • หากไม่มีอะไรผิดปกติอย่างชัดเจน ให้เพิ่มคำสั่ง console.log ภายในเงื่อนไขเพื่อดูว่ามีเงื่อนไขใดทำงานผิดพลาดระหว่างการเล่นเกมหรือไม่
      • หากทุกอย่างดูปกติ ปัญหาอาจอยู่ภายในตัวเอฟเฟกต์เอง
  • ตรวจสอบฟังก์ชันแอนิเมชันของเอฟเฟกต์ :

    • ฟังก์ชันแอนิเมชันมีความหลากหลายสูง จึงไม่มีคำแนะนำแบบเดียวที่ใช้ได้กับทุกกรณี อย่างไรก็ตาม เพื่อการดีบักที่มีประสิทธิภาพ:
      • ย้ายเอฟเฟกต์ไปยังเทมเพลต Lightscript เปล่า แล้วตรวจสอบว่าคุณสามารถเปิดใช้งานเพื่อดูแอนิเมชันใน SignalRGB ได้
      • สังเกต console และจดบันทึกว่าแอนิเมชันเสียที่จุดใด
      • การแยกโค้ดที่มีปัญหาออกมาจะช่วยประหยัดเวลาของคุณ ดังนั้นอย่าลืมทำขั้นตอนนี้