ตัวควบคุม#

การแนะนำ#

ตัวควบคุม V5 ประกอบด้วยปุ่มกด จอยสติ๊กสองอัน มอเตอร์สั่น และหน้าจอ บล็อกของตัวควบคุมสามารถใช้ตรวจสอบการกดปุ่ม อ่านการเคลื่อนไหวของจอยสติ๊ก สั่นตัวควบคุม เปิดหรือปิดการใช้งานการทำงานที่กำหนดค่าไว้ของตัวควบคุม เรียกใช้บล็อกเมื่อเกิดเหตุการณ์ของตัวควบคุม หรือแสดงข้อความบนหน้าจอของตัวควบคุม

การทำงานของคอนโทรลเลอร์ที่กำหนดค่าไว้ คือพฤติกรรมของคอนโทรลเลอร์ที่ตั้งไว้ในเมนูอุปกรณ์ ใช้บล็อก เปิด/ปิดใช้งานคอนโทรลเลอร์ เพื่อเปิดหรือปิดใช้งานการทำงานที่กำหนดค่าไว้เหล่านั้นชั่วคราวในระหว่างโครงการ

ด้านล่างนี้คือรายการบล็อกที่มีให้เลือก:

ค่าต่างๆ — ตรวจสอบสถานะปุ่มควบคุมหรืออ่านตำแหน่งจอยสติ๊ก

การกระทำ — สั่นตัวควบคุม เปิด/ปิดการทำงานของตัวควบคุมที่ตั้งค่าไว้ หรือเรียกใช้บล็อกเมื่อมีการเปลี่ยนแปลงอินพุตของตัวควบคุม

หน้าจอ — แสดงข้อความและตัวเลขบนหน้าจอควบคุม

ค่านิยม#

กดปุ่มควบคุมใช่ไหม?#

บล็อก Boolean Controller pressed? จะส่งคืนค่าว่าปุ่ม Controller ที่เลือกไว้นั้นถูกกดอยู่หรือไม่

ด้านหน้าและด้านหลังของคอนโทรลเลอร์ V5 โดยปุ่มต่างๆ ถูกไฮไลต์ด้วยสีเหลือง บนพื้นผิวของคอนโทรลเลอร์จะมีปุ่มลูกศรขึ้น ลง ซ้าย และขวาอยู่ทางด้านซ้าย และปุ่ม X, A, B, Y เรียงตามเข็มนาฬิกาจากตำแหน่ง 12 นาฬิกาอยู่ทางด้านขวา ด้านหลังของคอนโทรลเลอร์จะมีปุ่ม L1, L2, R1 และ R2 อยู่ทางด้านซ้ายและด้านขวาตามลำดับ

กดคอนโทรลเลอร์ใช่ไหม? บล็อกบูลีน#
<[Controller1 v] [▲ v] ถูกกด?>

พารามิเตอร์

คำอธิบาย

อุปกรณ์

ตัวควบคุมที่จะใช้ จะถูกกำหนดค่าในหน้าต่างอุปกรณ์

ปุ่ม

ปุ่มสำหรับตรวจสอบ:

  • ▲
  • ▼
  • ◀
  • ▶
  • X
  • B
  • Y
  • A
  • L1
  • L2
  • R1
  • R2

ตัวอย่าง

เมื่อเริ่มการทำงาน รถจะเคลื่อนที่ไปข้างหน้าขณะที่กดปุ่ม X ค้างไว้#
เมื่อเริ่มต้น
[Drive forward while X is pressed.]
ทำตลอดไป
ถ้า <[Controller1 v] [X v] ถูกกด?> แล้ว
ขับ [ไปข้างหน้า v]
มิฉะนั้น
หยุดขับ
fine
fine

ตำแหน่งตัวควบคุม#

บล็อกรายงานตำแหน่ง Controller position จะส่งคืนค่าตำแหน่งของจอยสติ๊กตามแกนที่เลือกเป็นตัวเลขตั้งแต่ -100 ถึง 100

ตัวควบคุม VEX V5 พร้อมแกนรอบจอยสติ๊กที่ระบุหมายเลข แกนที่ 1 และ 2 อยู่รอบจอยสติ๊กด้านขวา และแกนที่ 3 และ 4 อยู่รอบจอยสติ๊กด้านซ้าย

บล็อกรายงานตำแหน่งตัวควบคุม#
([Controller1 v] [1 v] position :: sensing)

พารามิเตอร์

คำอธิบาย

อุปกรณ์

ตัวควบคุมที่จะใช้ จะถูกกำหนดค่าในหน้าต่างอุปกรณ์

แกน

แกนจอยสติ๊กที่จะรายงาน:

  • 1 — แกนแนวนอนของจอยสติ๊กขวา
  • 2 — แกนแนวตั้งของจอยสติ๊กขวา
  • 3 — แกนแนวตั้งของจอยสติ๊กซ้าย
  • 4 — แกนแนวนอนของจอยสติ๊กซ้าย

ตัวอย่าง

เมื่อเริ่มเกม รถจะเคลื่อนที่ไปข้างหน้าเมื่อดันจอยสติ๊กด้านซ้ายขึ้น#
เมื่อเริ่มต้น
[Drive forward while the left joystick is pushed up.]
ทำตลอดไป
ถ้า <([Controller1 v] [3 v] position :: sensing) [math_greater_than v] [0]> แล้ว
ขับ [ไปข้างหน้า v]
มิฉะนั้น
หยุดขับ
fine
fine

การกระทำ#

เล่นโหมดสั่นบนคอนโทรลเลอร์#

บล็อก เล่นการสั่นบนคอนโทรลเลอร์ จะเล่นรูปแบบการสั่นบนคอนโทรลเลอร์

เล่นการสั่นบนบล็อกซ้อนคอนโทรลเลอร์#
เล่นการสั่น [ยาว v] บน [Controller1 v]

พารามิเตอร์

คำอธิบาย

ลวดลาย

รูปแบบการสั่นที่จะเล่นบนคอนโทรลเลอร์:

  • ยาว — สั่นยาวหนึ่งครั้ง
  • สั้น — สั่นสั้นหนึ่งครั้ง
  • เป็นจังหวะ — รูปแบบการสั่นแบบเปิดและปิด

อุปกรณ์

ตัวควบคุมที่จะใช้ จะถูกกำหนดค่าในหน้าต่างอุปกรณ์

ตัวอย่าง

เมื่อกดปุ่ม R1 ตัวควบคุมจะสั่นสั้นๆ#
เมื่อ[Controller1 v] ปุ่ม [R1 v] [กด v] :: hat events
เล่นการสั่น [สั้น v] บน [Controller1 v]

การเปิด/ปิดใช้งานตัวควบคุม#

บล็อกสแต็ก เปิด/ปิดใช้งานคอนโทรลเลอร์ จะเปิดหรือปิดใช้งานการทำงานที่กำหนดค่าไว้ของคอนโทรลเลอร์จากเมนูอุปกรณ์สำหรับคอนโทรลเลอร์ที่เชื่อมต่อทั้งหมด

ตัวควบคุมการเปิด/ปิดใช้งานบล็อกสแต็ก#
คอนโทรลเลอร์ [ปิดใช้งาน v]

พารามิเตอร์

คำอธิบาย

สถานะ

สถานะการทำงานที่กำหนดค่าไว้ในคอนโทรลเลอร์: ปิดใช้งาน หรือ เปิดใช้งาน

ตัวอย่าง

เมื่อเริ่มต้นระบบ ระบบจะปิดใช้งานการทำงานของตัวควบคุมที่กำหนดค่าไว้ในขณะที่หุ่นยนต์เคลื่อนที่ไปข้างหน้า#
เมื่อเริ่มต้น
[Disable Controller configured actions until the drive movement is done.]
คอนโทรลเลอร์ [ปิดใช้งาน v]
ขับ [ไปข้างหน้า v] เป็น (6) [นิ้ว v] ▶
คอนโทรลเลอร์ [เปิดใช้งาน v]

เมื่อกดปุ่มควบคุม#

บล็อก Hat เมื่อกดปุ่ม Controller จะเรียกใช้สแต็กที่แนบมาเมื่อกดหรือปล่อยปุ่ม Controller ที่เลือกไว้

ด้านหน้าและด้านหลังของคอนโทรลเลอร์ V5 โดยปุ่มต่างๆ ถูกไฮไลต์ด้วยสีเหลือง บนพื้นผิวของคอนโทรลเลอร์จะมีปุ่มลูกศรขึ้น ลง ซ้าย และขวาอยู่ทางด้านซ้าย และปุ่ม X, A, B, Y เรียงตามเข็มนาฬิกาจากตำแหน่ง 12 นาฬิกาอยู่ทางด้านขวา ด้านหลังของคอนโทรลเลอร์จะมีปุ่ม L1, L2, R1 และ R2 อยู่ทางด้านซ้ายและด้านขวาตามลำดับ

เมื่อกดปุ่มควบคุม Hat block#
เมื่อ[Controller1 v] ปุ่ม [▲ v] [กด v] :: hat events

พารามิเตอร์

คำอธิบาย

อุปกรณ์

ตัวควบคุมที่จะใช้ จะถูกกำหนดค่าในหน้าต่างอุปกรณ์

ปุ่ม

ปุ่มสำหรับตรวจสอบ:

  • ▲
  • ▼
  • ◀
  • ▶
  • X
  • B
  • Y
  • A
  • L1
  • L2
  • R1
  • R2

สถานะปุ่ม

เหตุการณ์ปุ่มที่เรียกใช้งานสแต็กที่แนบมา: กด หรือ ปล่อย

ตัวอย่าง

เมื่อกดปุ่ม R1 รถจะเคลื่อนที่ไปข้างหน้า 200 มิลลิเมตร#
เมื่อ[Controller1 v] ปุ่ม [R1 v] [กด v] :: hat events
[Drive forward when R1 is pressed.]
ขับ [ไปข้างหน้า v] เป็น (200) [มม. v] ▶

เมื่อแกนควบคุมมีการเปลี่ยนแปลง#

บล็อก Hat เมื่อแกนควบคุมมีการเปลี่ยนแปลง จะเรียกใช้สแต็กที่แนบมาเมื่อตำแหน่งของจอยสติ๊กเปลี่ยนแปลงไปตามแกนที่เลือก

ตัวควบคุม VEX V5 พร้อมแกนรอบจอยสติ๊กที่ระบุหมายเลข แกนที่ 1 และ 2 อยู่รอบจอยสติ๊กด้านขวา และแกนที่ 3 และ 4 อยู่รอบจอยสติ๊กด้านซ้าย

เมื่อแกนควบคุมเปลี่ยนไป บล็อกหมวก#
when [Controller1 v] axis [1 v] is changed :: hat events

พารามิเตอร์

คำอธิบาย

อุปกรณ์

ตัวควบคุมที่จะใช้ จะถูกกำหนดค่าในหน้าต่างอุปกรณ์

แกน

แกนจอยสติ๊กที่ต้องตรวจสอบ:

  • 1 — แกนแนวนอนของจอยสติ๊กขวา
  • 2 — แกนแนวตั้งของจอยสติ๊กขวา
  • 3 — แกนแนวตั้งของจอยสติ๊กซ้าย
  • 4 — แกนแนวนอนของจอยสติ๊กซ้าย

ตัวอย่าง

เมื่อตำแหน่งของจอยสติ๊กเปลี่ยนไปตามแกนควบคุมที่ 3 รถจะเคลื่อนที่ไปข้างหน้าเป็นระยะ 200 มิลลิเมตร#
when [Controller1 v] axis [3 v] is changed :: hat events
[Drive forward when the joystick's position changes along axis 3.]
ขับ [ไปข้างหน้า v] เป็น (200) [มม. v] ▶

หน้าจอ#

ตั้งเคอร์เซอร์ไปที่แถวหรือคอลัมน์บนตัวควบคุม#

บล็อกสแต็ก set cursor to row column on controller จะย้ายเคอร์เซอร์ไปยังแถวและคอลัมน์ที่ระบุบนหน้าจอ Controller ค่าที่พิมพ์ถัดไปจะปรากฏที่ตำแหน่งนั้น

ตั้งเคอร์เซอร์ไปที่แถวและคอลัมน์บนบล็อกสแต็กคอนโทรลเลอร์#
ตั้งเคอร์เซอร์ไปแถว [1] คอลัมน์ [1] บน [Controller1 v] :: custom-controller-inertial-timer

พารามิเตอร์

คำอธิบาย

แถว

แถวที่จะย้ายเคอร์เซอร์ไปบนหน้าจอควบคุม

คอลัมน์

คอลัมน์ที่จะย้ายเคอร์เซอร์ไปบนหน้าจอควบคุม

อุปกรณ์

ตัวควบคุมที่จะใช้ จะถูกกำหนดค่าในหน้าต่างอุปกรณ์

ตัวอย่าง

เมื่อเริ่มต้น โปรแกรมจะพิมพ์ข้อความที่แถวที่ 2 คอลัมน์ที่ 1 บนหน้าจอ Controller#
เมื่อเริ่มต้น
[Display a message on row 2.]
ตั้งเคอร์เซอร์ไปแถว [2] คอลัมน์ [1] บน [Controller1 v] :: custom-controller-inertial-timer
พิมพ์ [Ready] บน [Controller1 v] ▶ :: custom-controller-inertial-timer

ตั้งเคอร์เซอร์ไปที่แถวถัดไปบนตัวควบคุม#

บล็อกสแต็ก set cursor to next row on controller จะย้ายเคอร์เซอร์ไปยังคอลัมน์ที่ 1 ในแถวถัดไปของหน้าจอ Controller ค่าที่พิมพ์ถัดไปจะปรากฏในแถวนั้น

ตั้งเคอร์เซอร์ไปที่แถวถัดไปบนบล็อกสแต็กคอนโทรลเลอร์#
ตั้งเคอร์เซอร์ไปแถวถัดไปบน [Controller1 v] :: custom-controller-inertial-timer

พารามิเตอร์

คำอธิบาย

อุปกรณ์

ตัวควบคุมที่จะใช้ จะถูกกำหนดค่าในหน้าต่างอุปกรณ์

ตัวอย่าง

เมื่อเริ่มต้นทำงาน จะแสดงผลสองแถวบนหน้าจอ Controller#
เมื่อเริ่มต้น
[Display two rows of text.]
พิมพ์ [Row 1] บน [Controller1 v] ▶ :: custom-controller-inertial-timer
ตั้งเคอร์เซอร์ไปแถวถัดไปบน [Controller1 v] :: custom-controller-inertial-timer
พิมพ์ [Row 2] บน [Controller1 v] ▶ :: custom-controller-inertial-timer

ตั้งค่าความแม่นยำในการพิมพ์บนตัวควบคุม#

บล็อก set print precision on controller จะตั้งค่าจำนวนทศนิยมที่จะแสดงเมื่อพิมพ์ตัวเลขบนหน้าจอ Controller การตั้งค่านี้จะมีผลกับตัวเลขที่พิมพ์หลังจากใช้บล็อกนี้แล้ว

ตั้งค่าความแม่นยำในการพิมพ์บนบล็อกสแต็กคอนโทรลเลอร์#
ตั้งความละเอียดการพิมพ์เป็น [0.1 v] บน [Controller1 v] :: custom-controller-inertial-timer

พารามิเตอร์

คำอธิบาย

ความแม่นยำ

ระดับความแม่นยำในการพิมพ์ที่ใช้:

  • 1 — ไม่มีทศนิยม
  • 0.1 — 1 ทศนิยม
  • 0.01 — 2 ทศนิยม
  • 0.001 — 3 ทศนิยม
  • ตัวเลขทั้งหมด — ทศนิยมทุกตำแหน่งที่มี

อุปกรณ์

ตัวควบคุมที่จะใช้ จะถูกกำหนดค่าในหน้าต่างอุปกรณ์

ตัวอย่าง

เมื่อเริ่มต้นการทำงาน หน้าจอควบคุมจะแสดงค่า 1/3 โดยมีทศนิยมสองตำแหน่ง#
เมื่อเริ่มต้น
[Display 1/3 with two decimals.]
ตั้งความละเอียดการพิมพ์เป็น [0.01 v] บน [Controller1 v] :: custom-controller-inertial-timer
พิมพ์ ([1] [math_division v] [3]) บน [Controller1 v] ▶ :: custom-controller-inertial-timer

ตัวควบคุมที่ชัดเจน#

บล็อกคำสั่ง clear controller จะล้างแถวทั้งหมดบนหน้าจอ Controller และย้ายเคอร์เซอร์กลับไปยังแถวแรก

ล้างบล็อกสแต็กคอนโทรลเลอร์#
ล้าง [Controller1 v] :: custom-controller-inertial-timer

พารามิเตอร์

คำอธิบาย

อุปกรณ์

ตัวควบคุมที่จะใช้ จะถูกกำหนดค่าในหน้าต่างอุปกรณ์

ตัวอย่าง

เมื่อเริ่มต้นการทำงาน โปรแกรมจะพิมพ์ข้อความ รอสักครู่ แล้วจึงล้างหน้าจอ Controller#
เมื่อเริ่มต้น
[Clear the Controller screen after printing.]
พิมพ์ [This will disappear...] บน [Controller1 v] ▶ :: custom-controller-inertial-timer
รอ [2] วินาที
ล้าง [Controller1 v] :: custom-controller-inertial-timer

ล้างแถวบนคอนโทรลเลอร์#

บล็อกสแต็ก clear row on controller จะล้างแถวเดียวบนหน้าจอ Controller

ล้างแถวบนบล็อกสแต็กคอนโทรลเลอร์#
ล้างแถว [1] บน [Controller1 v] :: custom-controller-inertial-timer

พารามิเตอร์

คำอธิบาย

แถว

แถวที่จะล้างบนหน้าจอ Controller

อุปกรณ์

ตัวควบคุมที่จะใช้ จะถูกกำหนดค่าในหน้าต่างอุปกรณ์

ตัวอย่าง

เมื่อเริ่มต้นระบบ จะล้างแถวที่ 1 บนหน้าจอ Controller#
เมื่อเริ่มต้น
[Clear one row on the Controller screen.]
พิมพ์ [Row 1] บน [Controller1 v] ▶ :: custom-controller-inertial-timer
ตั้งเคอร์เซอร์ไปแถวถัดไปบน [Controller1 v] :: custom-controller-inertial-timer
พิมพ์ [Row 2] บน [Controller1 v] ▶ :: custom-controller-inertial-timer
รอ [2] วินาที
ล้างแถว [1] บน [Controller1 v] :: custom-controller-inertial-timer