
กลุ่มคำสั่ง Sensing ใน Scratch คืออะไร
กลุ่มคำสั่ง Sensing (การตรวจจับ) เป็นกลุ่มคำสั่งที่ใช้ให้โปรแกรม รับข้อมูลจากผู้ใช้หรือสภาพแวดล้อม แล้วนำข้อมูลเหล่านั้นมาใช้ตัดสินใจในการทำงานของโปรแกรม เช่น การตรวจสอบว่าตัวละครสัมผัสวัตถุหรือไม่ การกดแป้นพิมพ์ การคลิกเมาส์ หรือการรับคำตอบจากผู้ใช้
กล่าวได้ว่า กลุ่มคำสั่ง Sensing ช่วยให้เกมหรือแอนิเมชันสามารถ โต้ตอบ (Interactive) กับผู้เล่นได้อย่างสมจริง

กลุ่มคำสั่ง Sensing ใช้ทำอะไร
คำสั่ง Sensing ใช้สำหรับ
- ตรวจสอบการสัมผัส
- ตรวจสอบการกดแป้นพิมพ์
- รับข้อความจากผู้เล่น
- ตรวจสอบตำแหน่งเมาส์
- วัดระยะห่างระหว่างตัวละคร
- ใช้ข้อมูลในการตัดสินใจของโปรแกรม
คำสั่งพื้นฐานในกลุ่ม Sensing
1. touching ( )
ใช้ตรวจสอบว่าตัวละครกำลังสัมผัสสิ่งที่เลือกหรือไม่
ตัวอย่าง
- touching mouse-pointer
- touching Sprite1
- touching edge
เหมาะสำหรับ
- เกมเก็บเหรียญ
- เกมชนสิ่งกีดขวาง
- เกมไล่จับ
2. key ( ) pressed?
ใช้ตรวจสอบว่าผู้เล่นกดแป้นพิมพ์หรือไม่
ตัวอย่าง
if <key space pressed?>
เมื่อตรวจพบว่ากดปุ่ม Space ตัวละครสามารถกระโดดหรือทำงานตามที่กำหนดได้
3. ask ( ) and wait
ใช้ถามคำถามผู้เล่นและรอคำตอบ
ตัวอย่าง
ask "คุณชื่ออะไร?" and wait
โปรแกรมจะหยุดรอจนกว่าผู้เล่นจะตอบ
4. answer
ใช้เก็บคำตอบที่ผู้เล่นพิมพ์เข้ามา
ตัวอย่าง
say (answer)
ตัวละครสามารถนำคำตอบมาแสดงหรือใช้เปรียบเทียบเงื่อนไขได้
5. mouse x
ใช้บอกตำแหน่งแกน X ของเมาส์
เหมาะสำหรับ
- เกมวาดภาพ
- เกมยิงเป้า
- เกมควบคุมเมาส์
6. mouse y
ใช้บอกตำแหน่งแกน Y ของเมาส์
ทำงานร่วมกับ mouse x เพื่อระบุตำแหน่งเมาส์บนเวที
7. distance to ( )
ใช้วัดระยะห่างระหว่างตัวละครกับวัตถุ
ตัวอย่าง
distance to Sprite2
เหมาะสำหรับ
- เกมไล่จับ
- เกมเดินตาม
- เกมศัตรูติดตามผู้เล่น
ตารางสรุปคำสั่ง Sensing
| คำสั่ง | หน้าที่ |
|---|---|
| touching | ตรวจสอบการสัมผัส |
| key pressed | ตรวจสอบการกดแป้นพิมพ์ |
| ask and wait | ถามคำถามและรอคำตอบ |
| answer | เก็บคำตอบของผู้ใช้ |
| mouse x | ตำแหน่งเมาส์แกน X |
| mouse y | ตำแหน่งเมาส์แกน Y |
| distance to | วัดระยะห่าง |

ตัวอย่างการใช้งานในเกม Scratch
เกมเก็บเหรียญ
เมื่อตัวละครสัมผัสเหรียญ
- คะแนนเพิ่ม
- เล่นเสียง
- เหรียญหายไป
เกมกระโดด
เมื่อกดปุ่ม Space
ตัวละครกระโดด
เกมตอบคำถาม
โปรแกรมถามชื่อผู้เล่น
จากนั้นแสดงข้อความ
สวัสดี (ชื่อผู้เล่น)
เกมไล่จับ
ศัตรูเดินเข้าหาผู้เล่น
โดยใช้คำสั่ง
distance to Player

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

คำถามที่พบบ่อย (FAQ)
Q: คำสั่ง touching ใช้ทำอะไร?
A: ใช้ตรวจสอบว่าตัวละครกำลังสัมผัสวัตถุ เมาส์ หรือขอบเวทีหรือไม่
Q: ask and wait ต่างจาก answer อย่างไร?
A: ask and wait ใช้แสดงคำถามและรอคำตอบ ส่วน answer ใช้อ้างอิงคำตอบที่ผู้เล่นพิมพ์เข้ามา
Q: mouse x และ mouse y ใช้ทำอะไร?
A: ใช้ระบุตำแหน่งของเมาส์บนเวทีในแนวแกน X และแกน Y
Q: distance to ใช้ในเกมประเภทใด?
A: นิยมใช้ในเกมไล่จับ เกมศัตรูติดตามผู้เล่น และเกมที่ต้องตรวจสอบระยะห่างระหว่างตัวละคร