The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.

ป.4 เล่มที่ 3 เรื่อง การวางบล็อกโค้ด Scratch

Discover the best professional documents and content resources in AnyFlip Document Base.
Search

ป.4 เล่มที่ 3 เรื่อง การวางบล็อกโค้ด Scratch

ป.4 เล่มที่ 3 เรื่อง การวางบล็อกโค้ด Scratch

แบบฝึกทักษะการเขียนโปรแกรม Scratch เพื่อส่งเสริมความคิดสร้างสรรค์ กลุ่มสาระ การเรียนรู้ วิทยาศาสตร์และเทคโนโลยี (วิทยาการค านวณ) ส าหรับนักเรียนชั้นประถมศึกษาปีที่ 4เล ่มนี้ได้จัดท าขึ้นเพื ่อเป็น สื ่อประกอบการจัดกิจกรรมการเรียนรู้ กลุ ่มสาระการเรียนรู้ วิทยาศาสตร์ (ฉบับปรับปรุง พ.ศ. 2560) ตาม หลักสูตรแกนกลางการศึกษาขึ้นพื้นฐาน พุทธศักราช 2551 เพื่อเสริมสร้างกระบวนการคิดเชิงค านวณผ่านการ เขียนโปรแกรมอีกทั้งยัง ส ่งเสริมให้ผู้เรียนมีทักษะความคิดสร้างสรรค์ ทักษะกระบวนการแก้ปัญหา และทักษะ ความสามารถทางด้านเทคโนโลยีที่สอดคล้องกับทักษะที่จ าเป็นของผู้เรียนในศตวรรษที่ 21 ซึ่ง แบบฝึกทักษะการ เขียนโปรแกรม Scratch เพื่อส่งเสริมความคิดสร้างสรรค์ กลุ่มสาระการเรียนรู้ วิทยาศาสตร์และเทคโนโลยี (วิทยาการค านวณ) ส าหรับนักเรียนชั้นประถมศึกษาปีที่ 4 มีทั้งหมด 5 เล่ม ดังนี้ เล่มที่ 1 เรื่อง รู้จักโปรแกรม Scratch เล่มที่ 2 เรื่อง เริ่มต้นเขียนโปรแกรม Scratch เล่มที่ 3 เรื่อง การวางบล็อกโค้ด Scratch เล่มที่ 4 เรื่อง การสร้างเกมอย่างง่าย Scratch เล่มที่ 5 เรื่อง เกมสร้างสรรค์ Scratch เล่มที่ 3 เรื่อง การวางบล็อกโค้ด Scratch มุ่งเน้นให้นักเรียนมีความรู้เกี่ยวกับการวาง บล็อกโค้ด (Scratch Block) การเขียนสคริปต์การควบคุมการท างาน (Control) ตัวแปรเก็บ ข้อมูล (Variables) และ กระจายข้อความ (Broadcast) ผู้จัดท าหวังเป็นอย่างยิ่งว่าแบบฝึกทักษะการเขียนโปรแกรม Scratch เพื่อส่งเสริม ความคิดสร้างสรรค์กลุ่มสาระการเรียนรู้วิทยาศาสตร์และเทคโนโลยี(วิทยาการค านวณ) ส าหรับ นักเรียนชั้นประถมศึกษาปีที่ 4 ทั้ง 5 เล่มนี้จะเป็นประโยชน์ต่อครูผู้สอน นักเรียนและสามารถ เป็นตัวอย่างแก่ผู้ที่สนใจได้ต่อไป สุพัตรา ลีลาทิวานนท์ ก


สารบัญ เรื่อง หน้า ค าน า ก สารบัญ ข ค าชี้แจงแบบฝึกทักษะ ค ค าแนะน าส าหรับครู ง ค าแนะน าส าหรับนักเรียน จ มาตรฐานการเรียนรู้ / ตัวชี้วัด ฉ จุดประสงค์การเรียนรู้ ฉ แบบทดสอบก่อนเรียน เรื่อง การวางบล็อกโค้ด Scratch 1 ใบความรู้ที่ 1 การวางบล็อกโค้ด (Scratch Block) 5 ใบงานที่ 1 การวางบล็อกโค้ด (Scratch Block) 21 ใบความรู้ที่ 2 การเขียนสคริปต์ 23 ใบงานที่ 2 การเขียนสคริปต์ 37 ใบความรู้ที่ 3 การควบคุมการท างาน (Control) 39 ใบงานที่ 3 การควบคุมการท างาน (Control) 50 ใบความรู้ที่ 4 ตัวแปรเก็บข้อมูล (Variables) 53 ใบงานที่ 4 ตัวแปรเก็บข้อมูล (Variables) 59 ใบความรู้ที่ 5 กระจายข้อความ (Broadcast) 61 ใบงานที่ 5 กระจายข้อความ (Broadcast) 70 แบบทดสอบหลังเรียน เรื่อง การวางบล็อกโค้ด Scratch 72 บรรณานุกรม 76 ภาคผนวก เฉลยแบบทดสอบก่อนเรียน เรื่อง การวางบล็อกโค้ด Scratch 78 เฉลยใบงานที่ 1 การวางบล็อกโค้ด (Scratch Block) 79 เฉลยใบงานที่ 2 การเขียนสคริปต์ 81 เฉลยใบงานที่ 3 การควบคุมการท างาน (Control) 83 เฉลยใบงานที่ 4 ตัวแปรเก็บข้อมูล (Variables) 86 เฉลยใบงานที่ 5 กระจายข้อความ (Broadcast) 88 เฉลยแบบทดสอบหลังเรียน เรื่อง การวางบล็อกโค้ด Scratch 90 ประวัติผู้จัดท า ข


แบบฝึกทักษะการเขียนโปรแกรม Scratch เพื่อส่งเสริมความคิดสร้างสรรค์ กลุ่มสาระการเรียนรู้ วิทยาศาสตร์และเทคโนโลยี(วิทยาการค านวณ) ส าหรับนักเรียนชั้นประถมศึกษาปีที่ 4 มีทั้งหมด 5 เล่ม ดังนี้ เล่มที่ 1 เรื่อง รู้จักโปรแกรม Scratch เล่มที่ 2 เรื่อง เริ่มต้นเขียนโปรแกรม Scratch เล่มที่ 3 เรื่อง การวางบล็อกโค้ด Scratch เล่มที่ 4 เรื่อง การสร้างเกมอย่างง่าย Scratch เล่มที่ 5 เรื่อง เกมสร้างสรรค์ Scratch แบบฝึกทักษะการเขียนโปรแกรม Scratch เพื่อส่งเสริมความคิดสร้างสรรค์ กลุ่มสาระการเรียนรู้ วิทยาศาสตร์และเทคโนโลยี(วิทยาการค านวณ) ส าหรับนักเรียนชั้นประถมศึกษาปีที่ 4 เรื่อง การวางบล็อก โค้ด Scratch เล่มนี้ใช้เวลา 5 ชั่วโมง ประกอบไปด้วย 1. ค าน า / สารบัญ 2. ค าชี้แจง 3. ค าแนะน าส าหรับครู/ ค าแนะน าส าหรับนักเรียน 4. มาตรฐานการเรียนรู้/ ตัวชี้วัด / จุดประสงค์การเรียนรู้ 5. ใบความรู้/ แบบฝึกทักษะ /แบบทดสอบ 6. บรรณานุกรม 7. เฉลยแบบฝึกทักษะ และแบบทดสอบ ค


1. ครูศึกษาแบบฝึกทักษะการเขียนโปรแกรม Scratch เพื่อส่งเสริมความคิดสร้างสรรค์ กลุ่มสาระ การเรียนรู้วิทยาศาสตร์และเทคโนโลยี (วิทยาการค านวณ) ส าหรับนักเรียนชั้นประถมศึกษาปีที่ 4 เล่มที่ 3 เรื่อง การวางบล็อกโค้ด Scratch อย่างละเอียด 2. ครูแจกแบบฝึกทักษะการเขียนโปรแกรม Scratch เพื่อส่งเสริมความคิดสร้างสรรค์ กลุ่มสาระ การเรียนรู้วิทยาศาสตร์และเทคโนโลยี (วิทยาการค านวณ) ส าหรับนักเรียนชั้นประถมศึกษาปีที่ 4 เล่มที่ 3 เรื่อง การวางบล็อกโค้ด Scratch ให้นักเรียนทุกคน 3. ให้นักเรียนท าแบบทดสอบก่อนเรียนเป็นรายบุคคลเพื่อประเมินความรู้เดิมของนักเรียน 4. แจ้งมาตราฐานการเรียนรู้ ตัวชี้วัด และจุดประสงค์การเรียนรู้ให้นักเรียนทราบ 5. ครูด าเนินการสอนตามกิจกรรมที่ก าหนดไว้ในแผนการจัดการเรียนรู้ 6. ขณะที่นักเรียนท าแบบฝึกทักษะการเขียนโปรแกรม Scratch เพื่อส่งเสริมความคิดสร้างสรรค์ กลุ่มสาระการเรียนรู้วิทยาศาสตร์และเทคโนโลยี (วิทยาการค านวณ) ส าหรับนักเรียนชั้นประถมศึกษาปีที่ 4 เล่มที่ 3 เรื่อง การวางบล็อกโค้ด Scratch ครูต้องคอยแนะน า ให้ค าปรึกษาและช่วยเหลือ 7. หลักจากนักเรียนได้ศึกษาและท าแบบฝึกทักษะการเขียนโปรแกรม Scratch เพื ่อส ่งเสริม ความคิดสร้างสรรค์ กลุ่มสาระการเรียนรู้วิทยาศาสตร์และเทคโนโลยี (วิทยาการค านวณ) ส าหรับนักเรียน ชั้นประถมศึกษาปีที่ 4 เล่มที่ 3 เรื่อง การวางบล็อกโค้ด Scratch เสร็จเรียบร้อยแล้ว ครูและนักเรียนเฉลย กิจกรรมร่วมกัน พร้อมสรุปเพื่อให้นักเรียนน าไปปรับปรุงและพัฒนาในการท าแบบฝึกทักษะชุดต่อๆ ไป 8. ให้นักเรียนท าแบบทดสอบหลังเรียนเป็นรายบุคคล เพื่อประเมินผลการเรียนรู้ เกณฑ์การประเมิน ท าข้อสอบได้ 8-10 ข้อ ถือว่าผ่านเกณฑ์ ง


1. นักเรียนท าแบบทดสอบก่อนเรียน เล่มที่ 3 เรื่อง การวางบล็อกโค้ด Scratch 2. นักเรียนศึกษาท าความเข้าใจใบความรู้และตัวอย ่างในแบบฝึกทักษะการเขียนโปรแกรม Scratch เพื่อส่งเสริมความคิดสร้างสรรค์ กลุ ่มสาระการเรียนรู้วิทยาศาสตร์และเทคโนโลยี (วิทยาการ ค านวณ) ส าหรับนักเรียนชั้นประถมศึกษาปีที่ 4 เล่มที่ 3 เรื่อง การวางบล็อกโค้ด Scratch 3. นักเรียนปฏิบัติกิจกรรมตามที่ได้รับมอบหมายในแต่ละกิจกรรมที่ก าหนดให้ครบถ้วน ตามล าดับ ด้วยความตั้งใจ และคิดให้รอบคอบ 4. เมื่อนักเรียนมีปัญหาในกิจกรรมใด ให้ชักถามครูทันที 5. เมื่อนักเรียนท าแบบฝึกทักษะในแบบฝึกทักษะทุกแบบฝึกแล้ว ให้นักเรียนท าแบบทดสอบหลัง เรียน เล่มที่ 3 เรื่อง การวางบล็อกโค้ด Scratch จ


มาตรฐานการเรียนรู้ ว 4.2 เข้าใจ และใช้แนวคิดเชิงค านวณในการแก้ปัญหาที่พบในชีวิตจริงอย่างเป็นขั้นตอนและเป็น ระบบ ใช้เทคโนโลยีสารสนเทศและการสื่อสารในการเรียนรู้ การท างาน และการแก้ปัญหาได้ อย่างมีประสิทธิภาพ รู้เท่าทัน และมีจริยธรรม ตัวชี้วัด ป.4/2 ออกแบบและเขียนโปรแกรมอย่างง่าย โดยใช้ซอฟต์แวร์หรือสื่อ และตรวจหาข้อผิดพลาด และแก้ไข 1. นักเรียนอธิบายการท างานของแท็บโค้ด (Code) และบล็อกค าสั่งแต่ละประเภทได้ 2. นักเรียนอธิบายความหมายของการเขียนสคริปต์วิธีการใช้งานกลุ่มบล็อกการควบคุมการท างาน วิธีการท างานของตัวแปรเก็บข้อมูล และการท างานของการกระจายข้อความได้ 3. นักเรียนเลือกใช้งานบล็อกค าสั่งแต่ละประเภทส าหรับการเขียนสคริปต์ได้ 4. นักเรียนเลือกใช้งานบล็อกในการเขียนสคริปต์สั่งให้ตัวละครหรือเวทีท างานได้ 5. นักเรียนใช้งานบล็อกควบคุมในการเขียนสคริปต์สั่งให้ตัวละครหรือเวทีท างานได้ 6. นักเรียนเขียนโปรแกรมโดยใช้ตัวแปรเก็บข้อมูล และเขียนโปรแกรมเพื่อกระจายข้อความได้ 7. นักเรียนเห็นความส าคัญของการใช้งานเทคโนโลยีเพื่อช่วยแก้ปัญหาในชีวิตประจ าวัน ฉ


ค าชี้แจง ให้นักเรียนเลือกค าตอบที่ถูกต้องที่สุดเพียงค าตอบเดียว แล้วท าเครื่องหมายกากบาท (x) ลงในกระดาษค าตอบ จ านวน 10 ข้อ (คะแนนเต็ม 10 คะแนน) 1. จากภาพ ข้อใดคือความหมายของเครื่องมือในโปรแกรม Scratch ก. ตรวจสอบว่าสีตัวละครที่ก าหนด สัมผัสกับสีที่ต้องการหรือไม่ ข. ตรวจสอบว่าตัวละครนั้นสัมผัสกับสีที่ก าหนดหรือไม่ ค. ตรวจสอบการกดแป้นพิมพ์บนคีย์บอร์ด ง. ตรวจสอบเมาส์ว่าถูกคลิกหรือไม่ 2. จากภาพ มีความหมายตรงตามเครื่องมือใดในโปรแกรม Scratch ก. ตั้งค่าตัวแปร ข. เปลี่ยนค่าตัวแปร ค. แสดงตัวแปร ง. ซ่อนตัวแปร 3. กลุ่มบล็อก Variables มีความหมายตรงตามข้อใด ก. ใช้ตรวจสอบการรับรู้ต่างๆ เช่น การสัมผัส เสียง ระยะเวลา ข. ใช้ควบคุมทิศทางการท างานของสคริปต์ ค. ใช้ในการค านวณพื้นฐาน เช่น บวก ลบ คูณ หาร ง. ใช้ในการจัดการตัวแปรต่างๆ 1


4. ข้อใด คือ บล็อกที่จะถูกน ามาใช้เป็นอันดับแรกเสมอในการเขียนสคริปต์ ก. ท าซ ้าตลอด ข. เมื่อธงเขียวถูกคลิก ค. เคลื่อน...ก้าว ง. พูด...เป็นเวลา...วินาที 5. จากภาพ ข้อใดคือความหมายของเครื่องมือในโปรแกรม Scratch ก. นับจ านวนตัวเลข ข. นับจ านวนอักขระ ค. สุ่มตัวเลข ง. ฟังก์ชั่นทางคณิตศาสตร์ 6. บล็อกค าสั่ง repeat หมายถึงค าสั่งอะไร ก. ค าสั่งที่ก าหนดการท างานแบบวนซ ้าไม่รู้จบ ข. ค าสั่งที่ก าหนดการท างานแบบวนซ ้า ค. ค าสั่งก าหนดค่าเริ่มต้นให้กับตัวแปร ง. ค าสั่งที่ก าหนดการท างานแบบวนซ ้าตามจ านวนรอบที่ก าหนด 7. ข้อใดอธิบายการท างานของบล็อกค าสั่งต่อไปนี้ ได้ถูกต้อง ก. เป็นการก าหนดจุดเริ่มต้นของตัวละคร ข. เมื่อกดปุ่มธงเขียวจะเริ่มต้นการท างานที่ต าแหน่งนี้เท่านั้น ค. เมื่อตัวละครมีการเคลื่อนที่ ตัวเลข x : ……. และ y : …… จะวิ่งไปตามต าแหน่งของตัวละคร ง. ข้อ.ก และข้อ.ข ถูก 2


ใช้ภาพต่อไปนี้ ตอบค าถามข้อ 8 - 10 8. จากภาพ สคริปต์ที่ก าหนดให้ จะแสดงผลลัพธ์อย่างไร ก. ตัวละครพูดว่าสวัสดี ข. ตัวละครเคลื่อนที่ไปข้างหน้า 10 ก้าว แล้วพูดว่า ขอบคุณ ค. ตัวละครเคลื่อนที่ไปข้างหน้า 10 ก้าว แล้วพูดว่า สวัสดี ง. ตัวละครท าท่าคิด และก้าวไปข้างหน้า 10 ก้าว 9. จากภาพ กลุ่มบล็อกสีน ้าเงินเป็นกลุ่มบล็อกค าสั่งใด ก. ควบคุม ข. เคลื่อนไหว ค. รูปลักษณ์ ง. ไม่มีข้อใดถูก 10. จากภาพ กลุ่มบล็อกสีม่วงเป็นกลุ่มบล็อกค าสั่งใด ก. รูปลักษณ์ ข. เคลื่อนไหว ค. ควบคุม ง. เสียง 3


กระดาษค าตอบแบบทดสอบก่อนเรียน แบบฝึกทักษะการเขียนโปรแกรม Scratch เพื่อส่งเสริมความคิดสร้างสรรค์ ส าหรับนักเรียนชั้นประถมศึกษาปีที่ 4 รายวิชาเทคโนโลยี (วิทยาการค านวณ) กลุ่มสาระการเรียนรู้วิทยาศาสตร์และเทคโนโลยี เล่มที่ 3 เรื่อง การวางบล็อกโค้ด Scratch 4


ใบความรู้ที่ 1 การวางบล็อกโค้ด (Scratch Block) การวางบล็อกโค้ด (Scratch Block) การวางบล็อกโค้ดค าสั่งให้ตัวละคร ท าได้ด้วยขั้นตอนง่ายๆ เพียงแค่ลากบล็อกค าสั่งมาวาง ลงบนพื้นที่เขียนโปรแกรมเท่านั้น โดยบางบล็อกสามารถซ้อนอยู่บนบล็อกอื่นได้ เพื่อสร้างการท างาน ต่อเนื่อง ส าหรับการเริ่มใช้งานแรกๆ อาจจะก าหนดล าดับเป็นผังงาน หรือสตอรี่บอร์ดให้กับตัวละคร ก่อน เพื่อเป็นการเรียบเรียงแนวคิดก่อนวางบล็อก การวางบล็อกโค้ด ท าได้โดยการลากบล็อกที่ต้องการไปวางบนพื้นที่เขียนโค้ด ดังรูป ลากบล็อกที่ต้องการไปวางบนพื้นที่เขียนโค้ด ตัวอย่างการวางบล็อกโค้ด เช่น ให้แมวเดินไป 10 ก้าว และพูดว่า สวัสดี! ก็เริ่มเลือกโค้ด จากบล็อกประเภทเคลื่อนไหว (Motion) แล้วลากบล็อก ไปวางบนพื้นที่เขียนโค้ดและ เลือกโค้ดจากประเภทรูปลักษณ์(Looks) ลากบล็อก ไปวางต่อกัน ดังรูป 1 5


2 คลิกทดสอบโค้ด ผลลัพธ์การรันโค้ด 6


แท็บ Code : แท็บบล็อกค าสั่งในการเขียนโปรแกรม ก่อนที่จะไปลงมือเขียนโปรแกรม เรามาท าความรู้จักกับแท็บโค้ด (Code) และบล็อกค าสั่ง แต่ละ ประเภทว่าจะใช้ท าอะไรได้บ้าง เพื่อจะได้น าไปใช้งานได้อย่างถูกต้อง โดยตัวอย่างที่น ามาใช้ จะเน้นใช้เป็นบล็อก ค าสั่งภาษาไทยเป็นหลักเพื่อง่ายต่อการเรียนรู้ แต่ถ้าเป็นไปได้แนะน าให้ใช้ ภาษาอังกฤษ เพื่อการประยุกต์เขียน โค้ดในภาษาอื่นต่อไปในอนาคตได้ง่ายขึ้น บล็อกค าสั่งภาษาอังกฤษ บล็อกค าสั่งภาษาไทย 7


Motion : บล็อกเคลื่อนไหว โค้ดในกลุ่มบล็อกค าสั่งเคลื่อนไหว (Motion) ใช้ก าหนดการเคลื่อนที่ของตัวละคร โดยจะ เคลื ่อนที ่เดินหน้าไปทางขวา ถอยหลังมาทางซ้าย หรือให้ไปทางต าแหน ่งตัวชี้ของ Direction (ทิศทาง) เริ ่มต้นจะก าหนดไว้ที ่ 10 ก้าว (10 Steps) แต ่เราสามารถก าหนดจ านวนก้าวได้ตาม ต้องการ บล็อกค าสั่ง ความหมาย ท าให้ตัวละครเคลื่อนที่ไปในทิศทาง ที่มันก าลังหันหน้าไปอยู่ หมุนตัวละครไปทางขวา หมุนตัวละครไปทางซ้าย ส่งตัวละครไปยังต าแหน่งเดียวกับ บางสิ่งที่ก าหนด เช่น ตัวชี้เมาส์ (เลือกจากเมนูย่อย) ส่งตัวละครไปยัง พิกัดที่ก าหนดทันที ท าให้ตัวละครเคลื่อนที่ ไปยังบางสิ่งที่ก าหนด (เลือกจากเมนู ย่อย) ย้ายตัวละคร ไปยังพิกัดที่ก าหนดให้ ในเวลาที่ก าหนด หันตัวละครไปยัง ทิศทางใดทิศทางหนึ่ง ก าหนดโดย องศา (90 องศา = ขวา, -90 องศา = ซ้าย) หันตัวละครไปที่บางสิ่งที่ก าหนด (เลือกจากเมนูย่อย) เปลี่ยนพิกัด x หรือซ้าย-ขวา ของตัวละคร (ค่าที่ใส่ได้อยู่ในช่วง 240 ถึง -240) ก าหนดพิกัด x หรือซ้าย-ขวา ให้กับตัวละคร (ค่า 0 จะส่ง ตัวละครไปอยู่ตรงกลาง) เปลี่ยนพิกัด y หรือบน-ล่าง ของตัวละคร (ค่าที่ใส่ได้อยู่ในช่วง 180 ถึง -180) 8


บล็อกค าสั่ง ความหมาย ก าหนดพิกัด y หรือบน-ล่าง ให้กับตัวละคร (ค่า 0 จะส่ง ตัวละครไปอยู่ตรงกลาง) ส่งตัวละครกลับไปยังทิศทาง ตรงกันข้ามเมื่อมันมาถึงที่ขอบเวที ก าหนดว่าตัวละครสามารถ หันกลับ คว ่ากลับด้านบนล่าง หรือ หันหน้าไปทางเดิม ตลอดหรือไม่ บล็อกนี้ให้เราใช้ต าแหน่ง x ของตัวละครเป็นตัวแปร บล็อกนี้ให้เราใช้ต าแหน่ง Y ของตัวละครเป็นตัวแปร บล็อกนี้ให้เราใช้ทิศทางของตัวละคร เป็นตัวแปร Looks : บล็อกรูปลักษณ์ โค้ดในกลุ่มบล็อกค าสั่งรูปลักษณ์(Looks) กลุ่มบล็อกโค้ดที่ใช้ส าหรับเปลี่ยนตัวละคร หรือ คอสตูมของตัวละคร, แสดงข้อความ, สลับฉากหลัง, สลับตัวละคร, เพิ่ม/ลดขนาดตัวละคร และการ ตั้งค่าการก าหนด เอฟเฟกต์พิเศษต่างๆ ให้ตัวละคร เป็นต้น บล็อกค าสั่ง ความหมาย ท าให้ตัวละครมีกรอบค าพูด แสดงขึ้นมาเป็นเวลาตามที่ก าหนด สร้างกรอบค าพูดให้กับตัวละคร ท าให้ตัวละครมีกรอบความคิด แสดงขึ้นมาเป็นเวลาตามที่ ก าหนด สร้างกรอบความคิดให้กับตัวละคร เปลี่ยนคอสตูมของตัวละคร เปลี่ยนแสดงคอสตูมของตัวละครตัวถัดไป เปลี่ยนแสดงฉากหลังอื่น 9


บล็อกค าสั่ง ความหมาย เปลี่ยนฉากหลัง เป็นฉากหลังถัดไป เปลี่ยนขนาดตัวละครให้ตัวใหญ่ขึ้นหรือเล็กลง ตามค่าที่ระบุ ก าหนดขนาดของตัวละคร ตามค่า % ท าให้เอฟเฟกต์พิเศษที่เกิดกับ ตัวละครน้อยลงหรือมากขึ้น (สูงสุดที่ 100%) ใส่เอฟเฟกต์พิเศษให้กับตัวละคร (เลือกจากเมนูย่อย) ท าให้ตัวละครกลับไป มีรูปร่างหน้าตาเหมือนตอนต้น บล็อกค าสั่ง ความหมาย ซ่อนตัวละครบนเวที แสดงตัวละครบนเวที ถ้าตัวละครหลายตัวซ้อนทับกัน ค าสั่งนี้ จะท าให้ตัวละครตัวหนึ่ง สลับต าแหน่งกับตัวละครอีกตัวหนึ่ง ที่อยู่ด้านหน้าหรือด้านหลัง ถ้าตัวละครหลายตัวซ้อนทับกัน ค าสั่งนี้จะท าให้ตัวละครตัว หนึ่ง ขึ้นมาอยู่หน้าสุดหรือหลังสุด ของตัวละครอื่นทุกตัว บล็อกค าสั่งนี้ให้เราใช้หมายเลข หรือชื่อของคอสตูมเป็นตัวแปร แสดงตัวละครบนเวที บล็อกค าสั่งนี้ให้เราใช้หมายเลข หรือชื่อของฉากหลังเป็นตัวแปร บล็อกค าสั่งนี้ให้เราใช้ขนาด เป็นตัวแปร 10


Sound : บล็อกเสียง โค้ดในกลุ่มบล็อกค าสั่งเสียง (Sound) ใช้ควบคุมเสียงและก าหนดการเล่นเสียงให้กับตัว ละครและเหตุการณ์ต่างๆ โดยก าหนดให้เล่นเสียง, หยุดเล่นเสียง และก าหนดเอฟเฟกต์เสียงสูงต ่า ได้ แต่เสียงที่มีให้เลือกจะต้องสัมพันธ์กับตัวละคร(Sprite) ด้วย เช่น เลือกตัวละครแมว ก็จะเป็น เสียงแมวร้อง เป็นต้น หรือจะเลือกบันทึกเสียงของเรา (Record) ลงไปก็ได้ บล็อกค าสั่ง ความหมาย เล่นเสียงและรอจนกว่า มันจะจบ เล่นเสียงและรอจนกว่า มันจะจบ หยุดเสียงใดๆ ก็ตาม ที่ก าลังเล่นอยู่ เปลี่ยนเอฟเฟกต์เสียงสูงต ่า ทีละกี่บีตส์ ตั้งค่าเอฟเฟกต์พิเศษให้กับเสียง (เลือกจากเมนูย่อย) ลบเสียงเอฟเฟกต์ใดก็ตามออก เพิ่ม/ลด ระดับเสียงตามค่าที่ระบุ ตั้งค่าระดับความดังของเสียง ใช้ระดับเสียงเป็นตัวแปร 11


Events : บล็อกเหตุการณ์ โค้ดในกลุ่มบล็อกค าสั่งเหตุการณ์ (Events) เป็นบล็อกค าสั่งที่ใช้ควบคุมว ่าจะให้เกิดสิ่ง ต่างๆ เมื่อไร เมื่อมีการท างานของโปรแกรม เราสามารถก าหนดเหตุการณ์ให้กับตัวละคร โดยการ เลือกเหตุการณ์ และเลือกการกระท าให้ตอบสนองเหตุการณ์นั้นขึ้นมา เช่น จากการคลิกเมาส์ การ กดปุ่มบนแป้นพิมพ์ เป็นการติดต่อ โต้ตอบระหว่างผู้ใช้กับโปรแกรม และระหว่างตัวละครหลายๆ ตัว หรือระหว ่างตัวละครกับเวที เช่น ผู้ใช้คลิกที่ตัวละครแล้วให้ส ่งเสียงร้อง หรือเ มื ่อฉากหลัง เปลี่ยนก็ให้เปลี่ยนตัวละคร เป็นต้น บล็อกค าสั่ง ความหมาย เริ่มสคริปต์เมื่อธงเขียวเหนือเวทีถูกคลิก เริ่มสคริปต์เมื่อปุ่มหนึ่งถูกกด (เราเลือกปุ่มได้จากเมนูย่อย) เริ่มสคริปต์เมื่อตัวละครถูกคลิก เริ่มสคริปต์เมื่อฉากหลังเปลี่ยน เริ่มสคริปต์เมื่อค่าของตัวแปรตัวหนึ่งเปลี่ยน (เราเลือกตัวแปร จากเมนูย่อย) เริ่มสคริปต์เมื่อได้รับข้อความจากโค้ดส่วนอื่น ส่งข้อความไปยังโค้ดส่วนอื่น (1 ส่วนหรือหลายส่วน) ส่งข้อความไปโค้ดส่วนอื่น (1 ส่วนหรือหลายส่วน) และรอให้ โค้ดนั้นรันก่อนที่จะท างานต่อ 12


Control : บล็อกควบคุม โค้ดในกลุ่มบล็อกค าสั่งควบคุม (Control) จะใช้ในการควบคุมล าดับการท างาน (Control Flow) รวมไปถึงระยะเวลาที่จะให้โค้ดรัน งานบางอย่างง่ายพอที่จะท าแบบเรียงล าดับ ล าดับการ ท างานของสคริปต์จึงตรงไปตรงมา ท างานจากบล็อกบนสุดลงไปจนถึงบล็อกล ่างสุด แต ่งาน บางอย่างมีความซับซ้อนมากกขึ้น การท างานแบบเรียงล าดับอาจไม่เพียงพอ หรือไม่มีประสิทธิภาพ ดังนั้น จึงมีการควบคุมล าดับการท างานอีกสองลักษณะ เพื ่อเพิ่มขีดความสามารถในการเขียน โปรแกรม นั้นก็คือ การความคุมล าดับการท างานแบบวนซ ้า (Loop) และควบคุมล าดับการท างาน แบบมีเงื่อนไข (Condition) โดยบล็อกท าซ ้าและบล็อกเงื่อนไข (if) ที่มีอยู่หลายแบบให้เลือกใช้ใน หมวดบล็อกควบคุม อีกทั้งเรายังใช้บล็อกควบคุมในการสร้าง “โคลน” หรือตัวละคร ที่หน้าตา เหมือนกัน เพิ่มขึ้นมาหลายๆ ตัวได้ด้วย บล็อกค าสั่ง ความหมาย ให้หยุดรอตามจ านวนวินาทีที่ระบุ ให้วนรอบท าซ ้าโค้ดภายในบล็อกตามจ านวนรอบที่ก าหนดไว้ ท าให้บล็อกค าสั่งที่อยู่ในนี้ท าซ ้าอย่างต่อเนื่อง ท าให้บล็อกที่อยู่ในนี้ท างาน ถ้าตรงกับเงื่อนไขด้านบนเท่านั้น ตรวจสอบเงื่อนไข ถ้าเงื่อนไขเป็นจริงให้ท างานใต้โค้ด ถ้า (if) ถ้าเงื่อนไขเป็นเท็จให้ท างานใต้โค้ด มิฉะนั้น (else) รอจนกว่าจะตรงกับเงื่อนไข ที่ก าหนดไว้ 13


บล็อกค าสั่ง ความหมาย ท าให้บล็อกที่อยู่ในนี้ ท าซ ้าหรือวนซ ้าจนกว่าจะตรงกับ เงื่อนไขที่ก าหนดให้ หยุดสคริปต์ที่เลือกไว้ (เลือกจากเมนูย่อย) เริ่มสคริปต์นี้เมื่อโคลน หรือก็อปปี้ตัวละครเพิ่ม สร้างโคลนของตัวละครตัวหนึ่ง (เลือกจากเมนูย่อย) ลบตัวละครที่โคลน 14 บล็อกค าสั่งรูปตัว C จะใช้วาง ล้อมรอบค าสั่งอื่นๆ โดยปกติจะใช้เพื่อสร้างลูป บล็อกรูปตัว C if/then/else ใช้ก าหนดเงื่อนไขให้กับสิ่งอื่นๆ ที่จะให้เกิดขึ้น ลูปจะมีลูกศรชี้ขึ้น ที่ปลายด้านล่างเสมอ บล็อกค าสั่งประกบ (บล็อกที่ด้านล่าง เรียบเป็นเส้นตรง) ใช้เป็นบล็อกค าสั่งจบสคริปต์


Sensing : บล็อกตรวจจับ โค้ดในกลุ่มบล็อกค าสั่งการตรวจจับ (Sensing) ใช้ก าหนดเงื่อนไขต่างๆ ให้กับบล็อกอื่นๆ ใช้ตรวจจับการสัมผัส เช่น เมื่อตัวละครแตะตัวชี้เมาส์ (Mouse pointer), ซนขอบ (edge) แตะสี และการกดปุ่มบนแป้นพิมพ์ นอกจากนี้ยังมีการถาม (ask) และแสดงกรอบรอรับค าตอบจากผู้ใช้ เพื่อน ามาประมวลผลต่อได้ด้วย บล็อกค าสั่ง ความหมาย ตรวจสอบว่าตัวละครก าลังสัมผัส กับบางสิ่งอยู่หรือไม่ (เลือกจากเมนูย่อย) ตรวจสอบว่าตัวละครก าลังสัมผัสกับ สีใดสีหนึ่งอยู่หรือไม่ (เราก าหนดสีได้ โดยคลิกที่ช่องและเลือกสีจากหน้าจอ) ตรวจสอบว่าสีแรกก าลังแตะสีที่สอง ที่เราก าหนดไว้ ระยะห่างจากตัวชี้เมาส์หรือตัวละครอื่น ตั้งค าถามและแสดงกรอบรอรับข้อความ แสดงข้อความค าถามที่ได้รับมาบนเวที เมื่อมีการกดปุ่มจากแป้นพิมพ์ เมื่อเมาส์ถูกกด ต าแหน่งเมาส์แนวแกน x (ซ้าย-ขวา) ต าแหน่งเมาส์แนวแกน y (บน-ล่าง) ต าแหน่งเมาส์แนวแกน y (บน-ล่าง) ระดับความดังของเสียง 15


บล็อกค าสั่ง ความหมาย ตั้งจับเวลา จับเวลาใหม่ แสดงค่าของตัวละครและเวที แสดงวันที่, เดือน, ปี และเวลา จ านวนวันนับตั้งแต่วันที่ 1 มกราคม ค.ศ. 2000 บล็อกนี้แสดงชื่อผู้ใช้ ให้เราใช้ชื่อผู้ใช้ของผู้เล่นเป็นตัวแปร ถ้าเขาได้ลงชื่อเข้าใช้ในเว็บไซต์ Scratch 16


Operators : บล็อกตัวด าเนินการ โค้ดในกลุ่มบล็อกค าสั่งตัวด าเนินการ (Operators) ใช้เพื่อท าการค านวณทางคณิตศาสตร์ หรือ ตรวจสอบเงื่อนไขต่างๆ เช่น "และ" "หรือ" และ "ไม่" ส่วนใหญ่ที่ใช้งานบ่อยๆ คือ การน าไปใช้ งานกับบล็อกกลุ่มควบคุม (Control) และบล็อกกลุ่มตัวแปร (Variables) ในการเปรียบเทียบค่า และตัดสินใจ บล็อกค าสั่ง ความหมาย บวก ลบ คูณ หาร สุ่มค่าตัวเลข เปรียบเทียบค่าตัวเลขมากกว่า เปรียบเทียบค่าตัวเลขน้อยกว่า เปรียบเทียบค่าตัวเลขเท่ากับ ตรวจสอบว่าเงื่อนไขทั้งสอง เป็นจริงหรือไม่ ตรวจสอบว่าเงื่อนไขที่ 1 หรือ 2 เป็นจริงหรือไม่ ไม่ใช่ค่าหรือเงื่อนไขที่ระบุ ต่อตัวแปร 2 ตัวเข้าด้วยกัน แสดงค่าตัวอักษรตามต าแหน่งที่ระบุ 17


บล็อกค าสั่ง ความหมาย นับความยาวของตัวอักษร ตรวจสอบว่าในข้อความนั้น มีตัวอักษรที่ก าหนดไว้หรือไม่ (มี , ไม่มี) หารตัวเลขทั้งสองค่าเพื่อเอาเศษ ปัดเศษของจ านวนไปเป็น จ านวนเต็มที่ใกล้เคียงที่สุด ใช้ส าหรับคณิตศาสตร์ขั้นสูง เช่น การหารากที่สอง หรือหาค่ามุมด้วยตรีโกณมิติ Looks : บล็อกรูปลักษณ์ โค้ดในกลุ่มบล็อกค าสั่งตัวแปร (Varibles) ใช้จัดการข้อมูลทั้งที่เป็นข้อมูลเดี่ยวที่เรียกว่าตัว แปร หรือข้อมูลที่เป็นรายการก็ได้ ในการใช้บล็อกตัวแปร เราต้องสร้างตัวแปรหรือสร้างรายการ ขึ้นมาก่อน หลังจากสร้างตัวแปรหรือรายการแล้ว บล็อกค าสั่งที่เกี่ยวข้องจึงจะปรากฎให้ใช้งานได้ บล็อกค าสั่ง ความหมาย สร้างตัวแปรใหม่ ค าสั่งให้แสดงตัวแปรของฉัน ตั้งค่าเริ่มต้นให้กับตัวแปร เปลี่ยนค่าตัวแปร ตามจ านวนที่ก าหนดไว้ แสดงกล่องค่าตัวแปรบนหน้าต่างเวที ซ่อนกล่องตัวแปรบนเวที สร้างตัวแปรแบบรายการ 18


Operators : บล็อกตัวด าเนินการ โค้ดในกลุ่มค าสั่งบล็อกของฉัน (My Blocks) คือ การสร้างบล็อกการท างานขึ้นมาใหม่ด้วย ตัวเอง เป็นบล็อกอีกประเภทหนึ่งของ Scratch จะเป็นบล็อกสีชมพู เมื่อสร้างขึ้นมาครั้งแรกจะเป็น บล็อกว่าง เราต้องก าหนดชื่อบล็อก และก าหนดการท างานของบล็อก โดยปกติมักจะน าบล็อกของ โปรแกรมที ่สร้างเอาไว้มาวางต ่อ เหมือนสร้างตัวรวบรวมบล็อกการท างานหนึ ่งๆ เอาไว้ แล้ว น ามาใช้งานซ ้าได้ 19


บล็อกโค้ดกับการเขียนโปรแกรม โค้ดค าสั่งของ Scratch ที่เราน ามาเขียนโปรแกรมจะมีลักษณะเป็นบล็อก ซึ่งบล็อกแต่ละ ประเภทข้อมูล (Hat, Stack, Reporter, Boolean หรือ Cap) จะมีรูปร่างเป็นของตนเอง การเขียนโค้ดโปรแกรมกับบล็อก ท าได้ง่ายกว่าการเขียนโปรแกรมแบบข้อความ เหมือน โปรแกรมอื่นๆ ที่เราต้องจดจ าค าสั่งที่พิมพ์ลงไป อาจจะเกิดข้อผิดพลาดทางไวยากรณ์เมื่อพิมพ์ ค าสั่งผิดจะรันโค้ดไม่ผ่าน การเขียนโปรแกรม Scratch จะยืดหยุ่นมากกว่า เพราะแก้ไขโค้ดได้ แต่ การใช้บล็อกใน Scratch จะใช้ตามบล็อกที ่มีให้และแก้ไขไม่ได้ ประเภทของบล็อก ใน Scratch แบ่งออกเป็นได้ 6 ประเภท ดังนี้ Hat Blocks อยู่ในกลุ่มเหตุการณ์ (Event) จะมีอยู่ 6 บล็อก จะใช้เริ่มต้นโค้ด โดยแสดงบนสุด ด้านบนจะเป็นรูปโค้งมนคล้ายหมวก ด้านล่างจะมีส่วนนูน ส าหรับน าบล็อกอื่นมาเชื่อมต่อได้ Stack Blocks ส่วนใหญ่จะเป็นบล็อกการท างานหลักๆ ค าสั่งในการท างาน ทั่วไป สามารถน าไป ต่อกับบล็อกอื่น หรือน าบล็อกอื่นมาต่อได้เป็นการท างาน Boolean Blocks อยู่ในกลุ่มบล็อก Operators ตัวด าเนินการจะวางซ้อนไป ในบล็อกอื่น มักใช้ในการก าหนดเงื่อนไข โดยสังเกตได้จากสัญลักษณ์รูป 6 เหลี่ยม Cap Blocks ใช้ส าหรับหยุดบล็อก หรือหยุดการท างานของโค้ด เพื่อไม่ให้น า บล็อกอื่นมาวางต่อได้ พื้นล่างบล็อกจะเรียบจะมีอยู่ 2 บล็อกในกลุ่ม C Reporter Blocks ใช้คืนค่าตัวเลขและข้อความ จะมีรูปร่างโค้งมน การ น ามาใช้งานจะใช้เดี ่ยว บางค าสั ่ง แต ่ส ่วนใหญ ่จะใช้ช้อนลงไปในบล็อก ประเภท Stack Blocks ซึ ่งจะมีอยู ่หลายกลุ ่ม บล็อกที ่ใช้งาน Reporter Blocks C Blocks อยู่ในกลุ่ม Control Blocks หรือกลุ่มควบคุม ใน Scratch 3.0 จะมีทั้งหมด 5 บล็อก จะมีรูปร ่างคล้ายตัว C ภายในบล็อกจะมีรูปร่างเว้า และนูนเพื่อน าเอาบล็อกอื่นๆ มาเชื่อมต่อใส่ไว้ ภายใน 20


แบบฝึกหัดที่1 ค าชี้แจง : ให้นักเรียนตอบค าถามต่อไปนี้ให้ถูกต้อง (คะแนนเต็ม 10 คะแนน) การวางบล็อกโค้ด (Scratch Block) 1. การวางบล็อกโค้ด ท าได้อย่างไร………………………………………………………………………………………………........ 2. ให้นักเรียนสร้างโปรเจกต์ใหม่ขึ้นมา 3. เขียนสคริปต์ให้ตัวละครแมวเดิน 10 หน่วย โดยท าตามขั้นตอนดังนี้ 3.1 คลิกกลุ่มบล็อกเคลื่อนไหว (Motion) แล้วลากบล็อก ไปวางบนพื้นที่เขียนโค้ด 3.2 ทดลองคลิกที่บล็อกให้เกิดเป็นขอบล้อมรอบสีเหลือง แล้วดูผลลัพธ์บนเวที จะพบว่า ........................................................................................................................................................................ 3.3 คลิกที่กลุ่มบล็อกเหตุการณ์ (Event) แล้วลากบล็อก มาวางต่อเชื่อมด้านบนของ บล็อก ดังรูป 21


3.4 คลิก ปรากฏผลลัพธ์คือ............................................................................................... 3.5 ผลลัพธ์ในข้อ 3.2 และ 3.4 ต่างกันหรือไม่ อย่างไร................................................................. ...................................................................................................................................................... ...................................................................................................................................................... 3.6 ทดลองเปลี่ยนแปลงค่าตัวเลขในช่องว่าง แล้วคลิก สังเกตผลลัพธ์ที่เกิดขึ้น 4. ถ้าต้องการให้แมวเดินถอยหลัง 50 ก้าว จะท าอย่างไร …………………………………………………………………………………………………………………..…………………… 22


ใบความรู้ที่ 2 การเขียนสคริปต์ การเขียนสคริปต์ การเขียนสคริปต์คือ การเขียนค าสั่งให้ตัวละครแต่ละตัวรวมทั้งเวทีท างานร่วมกัน โดยที่ตัว ละครแต่ละตัวรวมทั้งเวที สามารถมีได้หลายสคริปต์หรือไม่มีสคริปต์เลยก็ได้ สคริปต์ประกอบจาก บล็อกค าสั่งน ามาวางต่อ กันเพื่อให้ตัวละครหรือเวทีท างาน เช่น ตัวละครมีการเคลื่อนไหวหรือฉาก หลังมีการเปลี่ยนแปลง ตามที่เราได้ออกแบบโปรแกรมไว้โดยที่เราไม่ต้องเขียนโค้ดด้วยข้อความ การท างานของสคริปต์จะท าจากบล็อกบนสุดที่เป็นบล็อกเปิดเริ่มต้นที่เรียกว่า Hat Block จากนั้นก็จะ ท างานบล็อกอื่นๆ ที่วางต่อกันลงไปตามล าดับ จนจบการท างานที่บล็อกล่างสุด การท าภาพเคลื่อนไหว ภาพเคลื่อนไหว หมายถึง ภาพกราฟิกที่มีการเคลื่อนไหวเพื่อแสดงขั้นตอนหรือปรากฏการณ์ ต่างๆ ที่เกิดขึ้นอย่างต่อเนื่อง โดยการน าภาพนิ่งมาเรียงกันเป็นชุด ๆ เพื่อแสดงบนจอทีละภาพด้วย ความเร็วสูงในการฉายภาพแต่ละภาพจะต่อเนื่องกันท าให้ดูเหมือนว่าเคลื่อนไหวจริง ภาพเคลื่อนไหวใน Scratch เราจะใช้ตัวละคร (Sprite) ก าหนดคอสตูม (Costumes) ที่ แสดงกิริยาท่าทาง แตกต่างกันมาแสดงสลับกัน โดยการก าหนดโค้ด (Code) ให้สลับตัวละครในแต่ ละช่วง ตัวอย่างการท าให้ค้างคาวบิน อาจจะใช้คอสตูม 4 ตัวให้แสดงสลับกัน เป็นต้น ตัวอย่างคอสตูนภาพเคลื่อนไหว 23


การสร้างภาพเคลื่อนไหวอย่างง่าย เรามาลองสร้างภาพเคลื่อนไหวอย่างง่ายๆ โดยการแทรกตัวละครแมวแล้วให้เดินตรงไป ข้างหน้า และส่งเสียงร้อง “เหมียว” ตัวละคร : Sprite บล็อก : Block เหตุการณ์ : Event เมื่อคลิกปุ่มธงเขียว หรือคลิกที่บล็อก ให้เคลื่อนที่ (Move) ไป 10 ก้าว ให้ส่งเสียง (Play Sound) แมวร้องจนจบ ตัวอย่าง การเขียนโค้ดให้ตัวละครเคลื่อนไหวอย่างง่ายๆ 2. รันโค้ด โดยคลิกที่ปุ่มธงเขียว ทดสอบผลลัพธ์ 1. วางโค้ด เมื่อคลิก ธงเขียว เคลื่อนที่ 10 ก้าว เล่นเสียง เหมียว จนจบ 24


เพิ่มโค้ดให้เดินหลายๆ รอบ จากตัวอย่างด้านบน แมวจะเดิน 10 ก้าว ส่งเสียงร้อง 1 ครั้งแล้วหยุด ถ้าเราคลิกที่กลุ่มโค้ด หรือคลิกปุ่มธงเขียว เจ้าแมวก็จะเดินต่ออีกครั้ง แต่ถ้าต้องการให้แมวเดินต่อเนื่องไป 10 รอบ เพื่อให้ ดูเหมือนแมวเดินไปจริงๆ ก็ต้องเพิ่มโค้ดในกลุ่มควบคุม (Control) โดยใช้บล็อกท าซ ้า (repeat) ซึ่ง จะเพิ่มบล็อกท าซ ้าแล้วย้ายกลุ่มเดินของแมวมาไว้ในบล็อกท าซ ้า เขียนโค้ดได้ดังนี้ วางโค้ดและกดรันโค้ด เมื่อคลิก ธงเขียว เคลื่อนที่ 10 ก้าว เล่นเสียง เหมียว จนจบ ท าซ ้า 10 รอบ 25


การเคลื่อนที่ตามทิศทาง (Direction) การเคลื่อนที่ไปได้ในทิศทางต่างๆ ของตัวละคร เมื่อเราสั่งให้เคลื่อนไหว (Motion) เช่น ให้เดินไป 10 ก้าว ตัวละคนจะเดินไปทางไหนนั้น ขึ้นอยู่กับต าแหน่งของทิศทาง (Direction) โดย ปกติจะเป็นที่ต าแหน่ง 90 องศา คือ เดินไปทางขวาของเวทีถ้าจะให้เดินไปทางซ้ายก็ต้องตั้งค่าไว้ที่ -90 องศา แต่การเคลื่อนที่นี้จะไม่เกี่ยวข้องกับลักษณะการหันหน้าของตัวละคร ตัวละครบางตัวหัน หน้าไปทางขวา ถ้าก าหนดทิศทาง 90 องศา ตัวละครก็จะเดินถอยหลัง เป็นต้น ❖ การหมุนของตัวละคร ถ้าค่าเป็นบวกจะเป็นการหมุนตามเข็มนาฬิกา ถ้าค่าเป็นลบจะหมุน ทวนเข็มนาฬิกา ❖ ค่าบวก เช่น 90 องศา จะมีทิศทางการเคลื่อนที่ไปทางขวา ❖ ค่า -90 องศา จะมีทิศทางการเคลื่อนที่ไปทางซ้าย ❖ 180 องศา จะมีทิศทางการเคลื่อนที่ไปด้านล่าง ❖ 0 องศา คือ ทิศทางด้านบน 26


การใช้บล็อกหันในทิศทางต่างๆ การเคลื่อนที่ตามทิศทางสามารถก าหนดได้ด้วยบล็อกหันในทิศทาง (point in direction) และระบุต าแหน่งองศาของทิศทางที่ต้องการ เมื่อเราวางบล็อกหันในทิศทางแล้ว ให้คลิกที่ค่าองศา จะแสดงวงกลมของทิศทาง ให้คลิก ลากลูกศรในวงกลมเพื่อก าหนดทิศทาง ค่าองศาบวก เช่น 90 จะมีทิศทางการเคลื่อนที่ไปทางขวา ค่า องศาลบ เช่น -90 จะมีทิศทางการเคลื่อนที่ไปทางซ้าย คลิกลากก าหนดองศา ตัวอย่าง การใช้บล็อกหันในทิศทางต่างๆ เราจะก าหนดการเดินของเจ้าแมวให้เดินไปด้านขวา (90 องศา) 50 ก้าว แล้วเปลี่ยนให้ เดินหน้าไปทางขวา (45 องศา) 50 ก้าว เขียนโค้ดได้ดังนี้ คลิกรันโค้ด เริ่มต้นจากการน าโค้ดมาวาง ผลลัพธ์ 27


การหัน (Turn) ไปตามองศาที่ก าหนด นอกจากการก าหนดทิศทางด้วยบล็อกหันในทิศทางแล้ว เรายังก าหนดให้ตัวละครหมุนไป ตามองศาเป็นวงกลมได้โดยก าหนดให้หมุนทีละกี่องศา และเลือกให้หมุนวนซ้ายหรือวนขวาได้ บล็อก : โค้ด การท างาน หมุนไปทางซ้ายครั้งละ 15 องศา หรือใส่ค่าองศาลงไป หมุนไปทางขวาครั้งละ 15 องศา หรือใส่ค่าองศาลงไป ตัวอย่าง การหัน (Turn) ไปตามองศาที่ก าหนด เราจะก าหนดโค้ดให้กับตัวละคร โดยนักเบสบอลก าลังเปลี่ยนท่ารับลูกเบสบอลที่ก าลังหมุน โดยใช้บล็อก หัน 15 องศา เขียนโค้ดได้ดังนี้ 1. คลิกเพิ่มฉากหลัง Baseball2 2. เพิ่มตัวละคร Catcher 3. เพิ่มตัวละคร baseball 4. คลิกที่ตัวละครลูกเบสบอล แล้ววางบล็อกโค้ด ดังนี้ 5. แล้วคลิกรันโค้ด จะเห็นลูกเบสบอลหมุนวนขวาโดยไม่ หยุด จนกว่าจะคลิกปุ่ม Stop 6. คลิกที่ ตัวละคร Catcher แล้ววางบล็อกโค้ด ดังนี้ 7. คลิกปุ่ม ธงเขียว รันโค้ดทั้งหมด 28


การเคลื่อนที่แบบสุ่ม (Random Position) การสร้างการเคลื่อนที่แบบสุ่ม คือ การให้ตัวละครเคลื่อนที่ ไปยังต าแหน่งต่างๆ ในพื้นที่ เวทีเช่น วิ่งขึ้น วิ่งลง วิ่งไปซ้าย วิ่งไปขวา แต่เคลื่อนที่ไปได้ในพื้นที่ 480 x 360 ของเวที(Stage) บนต าแหน่ง X และ y ตัวอย่าง การเขียนโค้ดให้ตัวละครเคลื่อนที่แบบสุ่ม วางโค้ด และกดรับโค้ด เพิ่มโค้ด หากต้องการให้สุ่มซ ้าโดยไม่หยุด การเคลื่อนที่ด้วย ไปที่ x,y (go to x,y) การเคลื่อนที่ด้วย ไปที่ x,y (go to x,y) เป็นการสร้างภาพเคลื่อนไหวโดยให้ตัวละคร กระโดดไปยังต าแหน่งอื่นๆ ที่ระบุบนต าแหน่ง x,y ตัวอย่าง การเขียนโค้ดให้ตัวละครแมวกระโดดไปยังต าแหน่งอื่นๆ ต าแหน่งเริ่มต้นของตัวละคร วางโค้ดและกดรันโค้ด ผลลัพธ์เมื่อกดรันโค้ด 29


การเคลื่อนที่แบบเหิน (glide) เป็นการเคลื่อนไหวของตัวละครที่ดูสวยงาม นุ่มนวลกว่าการสั่งให้กระโดดไปยังต าแหน่ง X และ Y ด้วยค าสั่ง ไปยัง x, y เราจะน าบล็อก เหิน มาสร้างการเคลื่อนไหว ร่วมกับค าสั่งให้ไปในทิศทางที่ต้องการ บล็อก : โค้ด การท างาน ให้ตัวละครหันไปทางขวา 90 องศา ให้ตัวละครเหินกี่วินาที ไปยังต าแหน่ง x และ y ที่ระบุ ตัวอย่าง การเคลื่อนที่แบบเหิน (glide) เราจะให้ตัวละคร “นก” บินไปทางที่ต าแหน่ง 90 องศาช้าๆ โดยเริ่มต้นด้วยบล็อก เมื่อคลิก และใช้บล็อก วนซ ้า เพื่อให้ท าซ ้า 10 รอบ เขียนโค้ดได้ดังนี้ ค่าวินาทีการเหิน คือ การ หน่วงเวลาการเคลื่อนที่ จะมีผลกับการเคลื่อนที่ช้า หรือเร็วของตัวละครไปยังต า แหน่ปลายทางที่ก าหนด ถ้าวินาทีมากจะนานและ วินาทีน้อยจะเร็ว ความเร็วในการเคลื่อนที่ 1 วินาที ไปยังต าแหน่ง x,y ตัวละครหันไปในทิศทางขวา 90 ให้วนซ ้า 10 รอบ ตัวละครเริ่มต้น คลิกรันโค้ด เหินมายังต าแหน่งใหม่ 30


การเคลื่อนที่ด้วยการกดปุ่มบนแป้นพิมพ์ การเคลื่อนที่หรือเคลื่อนไหวตัวละคร นอกจากการเคลื่อนที่ด้วยบล็อกค าสั่งต่างๆ ที่ผ่านมา เรายังก าหนดให้ เคลื่อนไหวด้วยการกดปุ่มต่างๆ บนแป้นพิมพ์ได้ เช่น เราอาจจะสร้างเกมขึ้นมา แล้วให้ผู้เล่นกดปุ่มต่าง เพื่อให้ตัวละครเคลื่อนไหวเดินไปมาบนเวทีซึ่งเราจะใช้บล็อก เลือกปุ่มบนแป้นพิมพ์ที่จะน ามาใช้ควบคุมการเคลื่อนที่ของตัวละคร คลิกเลือกปุ่มกดที่ต้องการก าหนด หลังจากเลือกบล็อก มาวางแล้ว ก็เลือกว่าจะกดปุ่มอะไร แล้วจะเขียนค าสั่งให้ท าอะไรก็น าบล็อก โค้ดมาวางต่อไว้ใต้ที่กด เช่น เราจะกด ลูกศรขึ้น เพื่อให้รถวิ่งขึ้นไป 10 จุด ในแนวแกน y เป็นต้น เมื่อกดลูกศร บนแป้นพิมพ์ เปลี่ยนต าแหน่งแนว y ขึ้น 10 จุด (ขยับขึ้น 10 จุด) 31


การเคลื่อนที่ด้วยการกดปุ่มลูกศรบน แป้นพิมพ์ จะใช้การอ้างอิงการเคลื่อนที่ แบบการเปลี่ยนต าแหน่งในแนวแกน x หรือแกน y บนเวที เช่น (เลื่อนขึ้น) และ (เลื่อนลง) การกดปุ่มบนแป้นพิมพ์ต่าง ๆ กดลูกศรขึ้น กดลูกศรลง กดลูกศรชี้ขวา กดลูกศรชี้ทางซ้าย กดปุ่มลูกศร หรือ กดปุ่มลูกศร หรือ 32


การเคลื่อนที่และปรับขนาด (Size) การสร้างภาพเคลื่อนไหวแบบปรับขนาดตัวละคร เช่น เมื่อตัวละครอยู่ไกลๆ มีขนาดเล็ก เมื่อเคลื่อนที่มาใกล้ให้ตัวละครมีขนาดใหญ่ขึ้น เหมือนการมองด้วยสายตาปกติดังตัวอย่างเราจะใช้ บล็อกโค้ด 3 บล็อก ดังนี้ บล็อก : โค้ด การท างาน ก าหนดขนาดตัวละครตามค่า % จากขนาดปกติ 100% ให้ตัวละครเคลื่อนที่ไปยังต าแหน่ง x, y ตัวอย่าง การเคลื่อนที่และปรับขนาด (Size) ให้ตัวละครเหินเคลื่อนที่ไปตามต าแหน่ง x, y ในตัวอย่างเราจะให้ตัวละครเดินมาจากด้านใน โดยก าหนดขนาดเริ่มต้นที่ 50% แล้วให้ เดินมาในต าแหน่งที่ก าหนดในบล็อก ไปที่ x, y แต่การเดินไปต าแหน่ง x, y จะเดินเร็วและไม่ นุ่มนวล ก็จะใช้บล็อก เหินไปยัง X คือ ให้เหินหรือเคลื่อนที่ช้าๆ ไปยังต าแหน่ง x, y ที่ระบุ การ ก าหนดต าแหน่งง่ายๆ คือ ให้เลื่อนตัวละครไปวางในจุดที่ต้องการ แล้วจึงลากบล็อกมาวาง 33


การเปลี่ยนฉากหลัง (Backdrop) เริ่มต้นการแสดงเราอาจจะเลือกฉากหลังแบบใดแบบหนึ่ง แต่พอเคลื่อนที่ไปให้เปลี่ยนฉาก หลังเป็นอีกแบบหนึ่ง ซึ่งจะท าได้ด้วยการเลือกบล็อก Switch backdrop to เปลี่ยนฉากหลังได้ แต่อาจจะใช้หลังที่มีเหตุการณ์อะไรเกิดขึ้น ซึ่งเราก็จะน าไปใส่ต่อจากบล็อกที่ต้องการได้ บล็อก : โค้ด การท างาน เปลี่ยนฉากหลังเป็น แล้วเลือกชื่อฉากหลัง คุณต้องเพิ่มฉากหลังเข้ามาตามจ านวนที่ต้องการใช้งาน เพื่อสลับการแสดง ฉากหลังได้ จะเลือกการเปลี่ยนได้2 แบบคือ เปลี่ยนแล้วท างานอื่นต่อ หรือ เปลี่ยนแล้วหยุดรอสักครู่ ตัวอย่าง การเพิ่มตัวละครและฉากหลัง 1. สร้างฉากหลังขึ้นมา คลิกปุ่ม เลือกฉากหลัง คลิกแท็บฉากหลัง 34


3. ก าหนดบล็อกค าสั่งชุดแรก 2. เลือกตัวละครที่มีคอสตูมหลายตัว เพื่อใช้แสดงสลับได้ ค าสั่งชุดแรกก าหนดโค้ดให้กับตัวละครเสือด า Panther ให้เดินไป 50 ก้าว และรอ โดยให้ เริ่มจาก คอสตูม Panther-a เป็นค่าเริ่มต้น และใส่บล็อก เพื่อเลือกฉากหลัง ที่จะแสดง คลิกเลือกตัวละคร เลือกใส่โค้ดให้กับตัวละคร 35


4. วางบล็อกโค้ดชุดที่ 2 และ 3 (บล็อกโค้ดชุด 2 และ 3 เหมือนกับบล็อกชุดแรก จากนั้นก็เปลี่ยน ชื่อคอสตูม Panther-b, Panther-c ตามล าดับ และเปลี่ยนชื่อฉากหลังเป็นฉากใหม่ได้ตาม ต้องการ) ผลลัพธ์การรันโค้ดชุดที่1 ผลลัพธ์การรันโค้ดชุดที่2 ผลลัพธ์การรันโค้ดชุดที่3 หากมีบล็อกโค้ดชุดแรกแล้ว และต้องการใช้ งานโค้ดแบบเดียวกัน ให้ส าเนาโค้ดด้วยการคลิกขวา แล้วเลือกค าสั่งท าซ ้า (Duplicate) วางบล็อกโค้ดชุดที่ 2 และ 3 36


แบบฝึกหัดที่2 ค าชี้แจง : ให้นักเรียนตอบค าถามต่อไปนี้ให้ถูกต้อง (คะแนนเต็ม 10 คะแนน) การเขียนสคริปต์ 1. เปิดโปรแกรม Scratch เลือกทิศทาง (Direction) ที่อยู่บริเวณข้อมูลตัวละคร ดังรูป ซึ่งจะมีค่า 90 โดยที่ ตัวละครหันหน้าไปทางขวา ให้เปลี่ยนค่าทิศทาง (Direction) เพื่อหาค่าที่ตัวละครหันตามตารางในช่องซ้าย และบันทึกผลลงตารางใน ตัวละคร ค่าทิศทาง (Direction) 37


2. เขียนสคริปต์ให้ตัวละครแมว ตามที่ก าหนด โดยที่ตัวละครหันหน้า แล้วบันทึกผลที่ได้ลงในตาราง เมื่อกดแป้นลูกศรขึ้น เมื่อกดแป้นลูกศรลง ผลลัพธ์ที่ได้ 3. เขียนสคริปต์เพื่อให้ตัวละครเดินขึ้นเมื่อกดแป้นพิมพ์ a และเดินลงเมื่อกดแป้นพิมพ์b สคริปต์เพื่อให้ตัวละครเดินขึ้น เมื่อกดแป้นพิมพ์ a สคริปต์เพื่อให้ตัวละครเดินลง เมื่อกดแป้นพิมพ์ b 4. หากต้องหารให้ตัวละครเคลื่อนที่ในต าแหน่งสุ่มไปรอบๆ เวที แต่เมื่อตัวละครไปถึงขอบเวทีให้ตัว ละครหันกลับมาอยู่ในเวที ต้องเขียนสคริปต์อย่างไร b 38


ใบความรู้ที่ 3 การควบคุมการท างาน (Control) การรันโค้ดของ Scratch โดยปกติจะรันจาก บล็อกบนสุดก่อนแล้วไล่ลงมาบล็อกด้านล่างสุด ต่อเนื่องจนจบหรือหมดบล็อกที่วางไว้แต่เราสามารถ สร้างเหตุการณ์(Event) ให้เลือกเริ่มท างานใน จุดที่ต้องการได้เช่น เมื่อเปลี่ยนตัวละคร ให้เปลี่ยน เสียงร้อง หรือเปลี่ยนฉากหลัง และการควบคุม (Control) ใช้ค าสั่งต่างๆ ภายใต้เงื่อนไขที่ก าหนด เช่น เดินไป 100 ก้าว ถ้าแตะโดนลูกโป่งให้หยุด หรือเคลื่อนที่ไปถึงต าแหน่ง x, y ที่ก าหนดให้ตัวละครหายตัวไป เป็นต้น การท างานของบล็อกกลุ่ม เหตุการณ์ (Events) จะเหมือนเป็นบล็อกบอกให้ตัวละครเริ่มต้น ท าอะไร อย่างไร ตอนไหน เพื่อสร้างเรื่องราวของละครให้ด าเนินต่อไป การวางบล็อกต่างๆ เหมือน สั่งให้ท าอะไร ดังนั้น บล็อกอื่นๆ ที่วางต่อจากบล็อกเปิดเริ่มต้นก็จะรันต่อเนื่องไป โดยปกติบล็อกที่ เราใช้ทุกโปรเจกต์งาน คือ บล็อก เมื่อคลิกธงเขียว ที่น ามาใช้เริ่มต้นชุดค าสั่งของโค้ด ส่วนบล็อกอื่นๆ ในกลุ่มเหตุการณ์ (Events) ก็จะมีการก าหนดการเริ่มต้นที่ต่างกัน ขึ้นอยู่กับความต้องการเลือกใช้ งาน ซึ่งในการท างานเราสามารถวางบล็อกการท างานต่างๆ ให้แสดงต่อเนื่องแล้วท างานจากบน ลงล่างไปตามล าดับได้แต่ถ้าต้องการให้ท างานตาม เงื่อนไข ให้หยุดรอ ให้ท าซ ้า เราต้องใช้ค าสั่งใน กลุ่มควบคุม (Control) มาควบคุมการท างานเพิ่ม ซึ่งจะเป็นการท างานเชิงตรรกะ ต้องน าข้อมูลมา เปรียบเทียบและตัดสินใจในการท างาน เช่น ถ้าเงื่อนไขเป็นจริงให้ท าอะไร เงื่อนไขเป็นเท็จให้ท าอะไร การท างานต่างๆ ของบล็อกกลุ่มควบคุม (Control) บางตัว จะต้องใช้บล็อกในกลุ่มตัวด าเนินการ (Operators) และกลุ่มตรวจจับ (Sensing) มาใช้งานร่วมด้วย เพื่อช่วยในการสร้างเงื่อนไข เปรียบเทียบข้อมูล ว่าจริงหรือเท็จ สังเกตจากบล็อกจะมีเครื่องหมายหกเหลี่ยม ต้องน าบล็อกหกเหลี่ยม มาใส่ภายในบล็อกก็จะได้ดังนี้ ตัวอย่างการเขียนโปรแกรม การควบคุมการท างาน (Events & Control) 39


หน่วงเวลา หรือให้รอก่อนท างานอื่น (Wait) โดยปกติการรันบล็อกโค้ดจะรันต่อเนื่องจากบนลงล่างตามล าดับ แต่ถ้าเรารันถึงบล็อกไหน แล้วจะให้หยุดรอก่อน ก็ให้เพิ่มบล็อก รอ (Wait) แล้วก าหนดจ านวนวินาทีลงไป ยิ่งใส่ค่าจ านวน วินาทีมากก็จะหยุดรอนานมากขึ้น เพื่อให้การแสดงของตัวละครหยุดหรือท าอย่างอื่นช้าลง ตัวอย่าง การหน่วงเวลา ก าหนดโค้ดให้ตัวละคร Wizard-toad กระโดดไปข้างหน้า 25 ก้าว และเปลี่ยนคอสตูมตัว ละครเป็น Wizard-toad-b แล้วหยุดรอ 2 วินาทีจากนั้นค่อยรันบล็อกแสดงข้อความ “แม่จ๋า...” เมื่อคลิกธงเขียว รันโปรแกรม 40


ให้หยุดรอจนกระทั่งตรงกับเงื่อนไข (Wait Until) นอกเหนือจากการหยุดรอตามวินาทีที่ก าหนดแล้ว เราสามารถให้หยุดรอตามเงื่อนไขที่ ก าหนดได้ ถ้าเงื่อนไขเป็นจริงให้ท าต่อไป แต่ถ้าเงื่อนไขเป็นเท็จก็จะหยุดรออยู่ก่อน จนกว่าจะพบ เงื่อนไขเป็นจริงจึงจะท าค าสั่งภายใต้บล็อก ซึ่งการก าหนดเงื่อนไขก็จะใช้บล็อกในกลุ่ม Operators มาใส่เงื่อนไข ตัวอย่าง รอจนกระทั่งตรงกับเงื่อนไข (Wait Until) เราจะสร้างการเคลื่อนไหวให้กับตัวละคร คือ เมื่อคลิกธงเขียว ให้ตัวละครเคลื่อนที่ไปที่ ต าแหน่งสุ่ม โดยมีบล็อกรอจนกระทั่ง (Wait Until) มาก าหนดเงื่อนไข รอจนกระทั่งตัวละครแตะโดน สีเขียว ฉากพื้นหลังจะถูกเปลี่ยนเป็นฉากถัดไป ซึ่งมีฉากพื้นหลังอยู่ทั้งหมด 4 ฉาก เมื่อตัวละครแตะ โดนสีเขียวฉากหลังจะเปลี่ยนไปเรื่อย ๆ เมื่อคลิกธงเขียว รันโปรแกรม 41


ท าซ ้า (repeat) การควบคุมล าดับการท างานแบบวนซ ้า เป็นการท างานภายใต้บล็อกที่อยู่ภายในบล็อกท าซ ้า นักโปรแกรมเมอร์มักจะเรียกว่า “การวนลูป (Loop)” คือ การท าซ ้าแบบเดิมหลายๆ ครั้ง ตัวอย่างการท าซ ้า ให้ตัวละครแมวเดินไปทีละ 10 ก้าว โดยเปลี่ยนคอสตูม จ านวน 10 ครั้ง เมื่อ ครบรอบการท าซ ้าก็จะพูดว่า “เดินจนเหนื่อยแล้วนะ” เมื่อคลิกธงเขียว รันโปรแกรม 42


วนซ ้าตลอด (Forever) วนซ ้าตลอด (Forever) คือ การควบคุมให้โปรแกรมมีการท างานวนซ ้าค าสั่งภายใต้บล็อกไม่ หยุดจนกว่าจะเจอค าสั่งหยุด หรือคลิกปุ่มหยุด (stop) ตัวอย่างการวนซ ้าตลอด ก าหนดโค้ดให้แมว เคลื่อนที่ 10 ก้าว โดยมีการเปลี่ยนคอสตูม และถ้าชน ขอบให้สะท้อนกลับ โดยควบคุมให้มีการท างานวนซ ้าตลอด แมวก็จะเคลื่อนที่ไปรอบๆ ไม่มีหยุด จนกว่าเราจะคลิกปุ่ม Stop (หยุด) 43


Click to View FlipBook Version