เนื่องจากนี่เป็นนักวิ่งที่ไม่มีที่สิ้นสุดฉันจึงถือว่าสีพื้นหลังของคุณถูกสร้างขึ้นตามกระบวนการ ฉันไม่แน่ใจเกี่ยวกับอัลกอริทึมของคุณ แต่เอาท์พุทสีนั้นและ จำกัด ช่วง
คุณสามารถยกเว้นสีแพลตฟอร์มของคุณเป็นตัวเลือกสีพื้นหลังที่เป็นไปได้ (แต่พื้นหลังอาจแตกต่างกันเล็กน้อยและยากที่จะแยกความแตกต่าง) ตัวอย่างเช่น: IF backColor = platformColor THEN GetNextBackgroundColor () คุณสามารถสร้างฟังก์ชั่น 'IsColorSimilar (color1, color2)' ได้เช่นกัน แต่ยากขึ้น
ใช้รายการสีพื้นหลังที่ถูกต้องที่รู้จักและวนรอบสีเหล่านั้น
มี 'สไตล์' สีที่แตกต่างกันสำหรับทั้งคู่ แพลตฟอร์มของคุณอาจสดใสและร่าเริงและ จำกัด สีพื้นหลังของคุณเป็นสีที่ไม่อิ่มตัว คุณต้องย้ายออกจากวิธี RBG ดั้งเดิมของการแสดงสีและย้ายไปยังแบบจำลองเช่น HSL
โปรแกรมเสริม Unity ที่ยอดเยี่ยมสำหรับการทำงานกับสีคือ ColorTools มีค่าใช้จ่าย $ 10 แต่คุ้มค่า https://www.assetstore.unity3d.com/en/#!/content/21966
มีวิธีการสร้างสีสำหรับสิ่งที่คุณกำลังมองหาเช่น Desaturate () สำหรับ desaturating สีพื้นหลังที่คุณสร้างขึ้นและ IsSimilar () เพื่อตรวจสอบว่าสองสีนั้นใกล้กันเกินไปหรือไม่
คุณสามารถค้นหาฟังก์ชั่นอื่น ๆ ที่คล้ายกันได้ฟรีในห้องสมุดอื่นบนอินเทอร์เน็ตด้วยการค้นหาเล็กน้อย