$env · สภาพแวดล้อมการแสดงผล

$env ระบุขนาด ธีม โหมดการแสดงผล หน่วย และภาษาของเครื่องดนตรีปัจจุบัน ซึ่งใช้ในการปรับโค้ดเดียวกันเพื่อแสดงสถานการณ์ต่างๆ เช่น โทรศัพท์มือถือและ HUD

ขนาดและเค้าโครง

width, height คือความกว้างและความสูงของพื้นที่ที่มีอยู่ในปัจจุบันของอุปกรณ์ ในจุดหน้าจอ และแตกต่างกันไปตามขนาดการ์ดและสภาพแวดล้อมการแสดงผล ไม่ใช่ความละเอียดของโทรศัพท์ทั้งหมด และไม่ใช่จำนวนพิกเซลในภาพ

แบบอักษร รัศมีกราฟิก และพิกัดจุดสิ้นสุดที่ต้องปรับขนาดควรคำนวณโดยใช้ความกว้างและความสูงนี้ใน main() วงกลม 120 จุดคงที่จะใช้ขนาดคงที่เสมอ เพื่อให้แตกต่างกันไปตามการ์ด ให้คำนวณเส้นผ่านศูนย์กลางโดยใช้ค่าที่น้อยกว่าของความกว้างและความสูงที่มีอยู่

ธีม โหมดการแสดงผล และหน่วย

foreground คือสีข้อความที่เหมาะสมสำหรับพื้นหลังปัจจุบัน accent คือสีที่ถูกเน้น และ dark แสดงถึงลักษณะสีเข้มในปัจจุบัน ค่าของ mode คือ instruments หรือ hud ซึ่งบ่งชี้ถึงมิเตอร์ปกติหรือจอแสดงผล HUD

speedUnit หมายถึงหน่วยแสดงความเร็วปัจจุบัน language คือภาษาของแอป และ reduceMotion หมายถึงการตั้งค่าเอฟเฟกต์ไดนามิกที่อ่อนลงของระบบ obdDevice จัดเตรียม id และ name ของอุปกรณ์ที่เชื่อมต่ออยู่ในปัจจุบัน หรือว่างเปล่าหากไม่มีอุปกรณ์ที่พร้อมใช้งาน ควรใช้ป้ายกำกับหน่วยกับค่าตัวเลข การเปลี่ยนป้ายกำกับจะไม่แปลงค่าตัวเลข

ตัวอย่าง: ปรับโหมดการแสดงผล

ตัวอย่างต่อไปนี้ใช้ขนาดตัวอักษรที่ใหญ่ขึ้นในโหมด HUD และใช้สีข้อความของธีมปัจจุบันและหน่วยความเร็ว

function main() {
  return (
    <Text fontSize={$env.mode === 'hud' ? 72 : 48} color={$env.foreground}>
      {$env.speedUnit}
    </Text>
  );
}

การปรับปรุงสภาพแวดล้อม

CapDrive ให้ข้อมูลใหม่เมื่อมิติ ธีม หรือสถานการณ์อื่นๆ เปลี่ยนแปลง ใส่การคำนวณที่ขึ้นอยู่กับ $env ภายใน main() เพื่อให้แน่ใจว่าการจับรางวัลครั้งถัดไปใช้ค่าใหม่ เอฟเฟ็กต์ภาพเคลื่อนไหวที่ซ้ำกันจะถูกปรับตาม reduceMotion เพื่อหลีกเลี่ยงการละเลยการตั้งค่าระบบของผู้ใช้

สนาม

widthnumber

ความกว้าง

heightnumber

ความสูง

darkboolean

ลักษณะมืด

foregroundstring

สีข้อความ

mode"instruments" | "hud"

โหมดการแสดงผล

speedUnit"km/h" | "mph"

หน่วยความเร็ว

languagestring

ภาษาของแอป

reduceMotionboolean

ลดการเคลื่อนไหว

accentstring

สีเน้น

obdDevice{ id: string; name: string } | null

อุปกรณ์ OBD