สอนเด็กให้คิด สอนศิษย์ให้ scratch · 2019-04-25 ·...

185
สอนเด็กให้คิด สอนศิษย์ให้ Scratch การเขียนโปรแกรมสําหรับเด็ก เวอร์ชั ่น 1.0 26.3.2555 สมชาย พัฒนาชวนชม

Upload: others

Post on 25-Dec-2019

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

สอนเดกใหคด

สอนศษยให

Scratch

การเขยนโปรแกรมสาหรบเดก เวอรชน 1.0 26.3.2555

สมชาย พฒนาชวนชม

Page 2: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

2 kidsangsan.com สมชาย พฒนาชวนชม

สงวนลขสทธ พ.ศ. 2555 โดย สมชาย พฒนาชวนชม

ลขสทธหนงสออยภายใตเงอนไขสญญาอนญาต ครเอทฟคอมมอนส 3.0 (CC-BY-NC-SA)

ใหเผยแพร โดยอางองแหลงทมา หามนาไปใชเพอการคา และใหอนญาตตอไปแบบเดยวกน

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike

3.0 Unported License.

Page 3: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 3

บทนา

ทาไมตองสงเสรมใหเดกหดเขยนโปรแกรม

เปนททราบกนดวา ในปจจบนนคอมพวเตอรมบทบาทอยางมากในชวตประจาวนของเรา อกทง

เทคโนโลยสารสนเทศและการสอสารยงชวยสงเสรมความกาวหนาอยางมาก ในศาสตรทกแขนง

และสาขาอาชพ สงผลใหในศตวรรษท 21 มความตองการเพมศกยภาพของเดก ใหมความรดาน

คอมพวเตอรและเทคโนโลยสงขน และไมควรเปนผใชเพยงอยางเดยว แตตองสามารถใช

ความคดสรางสรรคเพอสรางผลงานใหมๆ ออกมาไดดวย

การฝกเขยนโปรแกรมเปนเครองมอสาคญทใชสงเสรมศกยภาพในการแกปญหา ดวย

กระบวนการคดวเคราะห คดอยางเปนระบบ และคดสรางสรรค ทชวยใหผเรยนแสดงออกทาง

ความคด ผานไปยงโปรแกรมผลงานทสรางขน แลวสอสารไปยงผใชโปรแกรมเหลานน

ในนานาประเทศ ตลอดหลายทศวรรษทผานมามความพยายามอยางตอเนอง ทจะสงเสรมการ

เขยนโปรแกรมใหกบเดกๆ แตสวนใหญยงไมบรรลเปาหมาย เนองจากโปรแกรมภาษาทใช

ยงคงซบซอนเกนความสามารถของผเรยน อยางไรกตามงานวจยในเรองโปรแกรมภาษาท

เหมาะสมกบเดก หรอผทไมมประสบการณการเขยนโปรแกรมมากอน ยงดาเนนมาตลอด และ

ในชวง 4-5 ปทผานมา โปรแกรมภาษา Scratch จากทมงานวจย Media Lab MIT ไดรบการ

เผยแพร และเปนทยอมรบอยางกวางขวาง ดวยความงายของโปรแกรมภาษา และเนนการเขยน

โปรแกรมผานสอหลากหลายชนด ทาใหเดกๆ สนกสนานและสนใจกบการเรยนรไดอยาง

ยาวนาน

Page 4: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

4 kidsangsan.com สมชาย พฒนาชวนชม

เดกไดอะไรจากการเขยนโปรแกรม

กระบวนการเขยนโปรแกรม สงเสรมใหเดกใชความคดวเคราะห คดอยางเปนระบบ คดเชง

ตรรกะ และคดสรางสรรค เพอแกปญหาทางคอมพวเตอร ดวยการสรางโปรแกรมผลงาน ซงเรม

จากการพฒนาทางความคด ถายทอดความคดสการลงมอปฏบตอยางเปนขนตอน แกไขปญหา

เฉพาะหนาเมอมอปสรรค และเมอทากระบวนการนซาๆ กจะเกดความชานาญและความมนใจ

ในแนวคดและความสามารถของตวเอง

การนาเสนอผลงานใหผอนไดทดลองใชงาน พรอมเปดโอกาสรบฟงคาวจารณ ขอสงสย และ

ขอเสนอแนะ เปนการเพมทกษะการฟงและการยอมรบ การใชเหตผลในการอธบาย และยง

สามารถนาคาแนะนามาปรบปรงแกไขผลงานตวเองใหดยงขนได

การแลกเปลยนผลงานและความคดเหนกบผอน ทาใหผเรยนไดมมมอง ประสบการณ และ

เทคนคการเขยนโปรแกรมใหมๆ สามารถนามาตอยอดเชอมโยงกบผลงานตวเองได และยงทา

ใหผเรยนเขาใจในสงทตวเองไดเรยนรมา และสงใดบางทตองเรยนรเพมเตม

เมอผเรยนมพนฐานการเขยนโปรแกรมแลว การทางานเปนทมเพอแกปญหาทใหญขน เปนการ

สงเสรมทกษะการบรหารและการวางแผนเพอแบงงานกนทาภายในกลม และทกษะการสอสาร

ภายในกลมซงสาคญมากในการทางานใหสาเรจตามเปาหมาย

การสรางผลงานยงสามารถเชอมโยงการใชความรในศาสตรอนๆ ผานผลงานทหลากหลาย เชน

การจาลองทางวทยาศาสตร การเลาเรองแอนเมชน การแสดงผลงานศลปะและงานดนตร

แมกระทงเกมสงเสรมการเรยนร เปนตน การสรางผลงานเปนการเรยนรแบบผสมผสานแบบ

หนง ทจะทาใหเดกมความสนใจและความเขาใจในศาสตรทเชอมโยง ในเชงลกมากยงขน

Page 5: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 5

ทาไมตองใช Scratch

โปรแกรม Scratch เปนทงเครองมอและโปรแกรมภาษา พฒนาโดยทมงาน Media Lab MIT ม

กลมเปาหมายเปนเดกๆ หรอผเรมตนหดเขยนโปรแกรม วตถประสงคของทมพฒนา คอการ

สงเสรมผเรยนใหใชความคดสรางสรรค ผานการใชสอตางๆ ไมวาจะเปนขอความ ภาพ เสยง

หรอ ภาพเคลอนไหว ดวยเครองมอทไมซบซอน และมาพรอมกบตวโปรแกรม Scratch เพอ

สรางโปรเจกตางๆ ตามจนตนการของผเรยน อาทเชน การเลาเรอง การสรางแอนเมชน การ

จาลอง แมกระทงการเขยนเกมกทาได

Scratch เหมาะสาหรบผเรมตนในการเขยนโปรแกรม เนองจากวธการเขยนโปรแกรม ทาไดโดย

การตอบลอกคาสงเพอสรางโปรแกรมสครปต คลายกบการตอเลโก บลอกทตอดวยกนไดเทานน

ทจะอนญาตใหตอกนได การใสขอมลในบลอกกมการตรวจเชคเพอปองกนการใสขอมลผดพลาด

ทาใหไมเกดขอผดพลาดในการเขยนโปรแกรม การเขยนโปรแกรมจงเปนเรองงาย ทาใหผเรยน

สนใจเรยนร ออกแบบ และสรางโปรเจกตางๆ อยางสนกสนาน ดวยความคดสรางสรรคและ

จนตนาการ

การฝกเขยนโปรแกรมภาษา Scratch ยงใชแนวคด หลกการเขยนโปรแกรม และแนวทางปฏบต

ในการพฒนาโปรแกรม เชนเดยวกบทใชในโปรแกรมภาษาอนๆ จงเปนการปพนฐานและเตรยม

ความพรอม ในการเรยนคอมพวเตอรระดบตอไปทซบซอนยงขน

ความคดสรางสรรคเปนกระบวนการทางสงคม ดงนนทมพฒนา Scratch ไดสรางเวบไซต

http://scratch.mit.edu เปนเครอคายชมชนผสนใจใน Scratch ทมผใชงานอยทวโลก เพอเปน

แหลงความรขอมลขาวสาร เปนทแลกเปลยนโปรเจกผลงาน แลกเปลยนความคดเหน และ

มมมองใหมๆ ในเครอขายชมชน

ถงแม Scratch จะถกออกแบบมาสาหรบเดก แตศกยภาพของมนกสงพอทผใหญ โดยเฉพาะคร

สามารถเรยนรและใช Scratch ไดอยางหลากหลาย โดยเฉพาะเปนเครองมอสงเสรมการสอน

อยางสรางสรรคได เชน ออกแบบโจทยทดสอบทไมนาเบอ สรางแบบจาลองเพอเพมความเขาใจ

หรอทาสอการสอนในวชาตางๆ เปนตน

Page 6: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

6 kidsangsan.com สมชาย พฒนาชวนชม

ความคาดหวงเมอเดกไดเรยนร Scratch จากหนงสอเลมน

การเขยนโปรแกรมภาษา Scratch สามารถเพมเตมทกษะและความร ใหกบผเรยน ดาน

คอมพวเตอร เทคโนโลยสารสนเทศ และการสอสาร เพอเตรยมความพรอมสาหรบการเรยนใน

ระดบทสงขน ซงผเรยนตองเรยนรเชงลก ตองมกระบวนการคดอยางสรางสรรค เปนผสราง

มากกวาเปนผใชเพยงอยางเดยว

การเขยนโปรแกรมเปนกจกรรม ทสงเสรมการใชความคดวเคราะหอยางเปนเหตเปนผล และคด

อยางเปนระบบ เพอแกโจทยปญหาทซบซอน สงเสรมการใชความคดสรางสรรค และ

จนตนาการ ในการออกแบบและการสรางโปรแกรมผลงาน นอกจากนนการนาเสนอผลงานและ

การแลกเปลยนความคดเหนระหวางผเรยน ยงเปนการเพมพนความร ประสบการณ และ

มมมองใหมๆ รวมทงทกษะทใชในการสอสารกบผอนดวย

การสรางโปรแกรมผลงาน เปนการฝกผเรยนใหเลอกใชสอทมอยหลากหลายไดอยางเหมาะสม

สามารถเชอมโยงความรในศาสตรอนๆ เขากบโปรแกรมผลงาน ในลกษณะของสอรปแบบผสม

ทาใหเพมมตและขดความสามารถในการเรยนการสอนไดเปนอยางด

Page 7: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 7

อานหนงสอเลมนอยางไร

หนงสอแบงออกเปนสามสวนหลกๆ สวนแรกแนะนาตวโปรแกรม Scratch และการใชงาน

เครองมอตางๆ สวนทสองแนะนาวธการเขยนโปรแกรมภาษา Scratch แนวคดและหลกการ

เขยนโปรแกรม สวนทสามเรยนรเทคนคการเขยนโปรแกรมแบบตางๆ จากโปรเจกทมาพรอม

กบโปรแกรม Scratch โดยแตละโปรเจกทถกเลอกมาในแตละหมวด เปนตวอยางเพอใหผเรยน

ไดศกษา และสามารถศกษาตวอยางทเหลอเพมเตมไดดวยตนเอง

การฝกเขยนโปรแกรมผานโปรเจก ผเรยนควรศกษาทาความเขาใจภาพรวมของโปรเจก เขาถง

ความสมพนธระหวางตวละครตางๆกบเวท เรยนรการใชบลอกคาสงเพอทางานใหไดตาม

เปาหมาย เมอมความเขาใจดแลว ผเรยนควรตอยอดโปรเจก หาไอเดยใหมๆ ใสเขาไปแลว

เขยนโปรแกรมเพมเตม

การอานแบบเรยงลาดบ เหมาะสาหรบผทไมมประสบการณการเขยนโปรแกรมมากอนเลย สวน

คนทมประสบการณการเขยนโปรแกรมมาบาง อาจอานเรวๆ ในสวนแรกเพอทาความรจกกบ

โปรแกรม Scratch กอน จากนนเรยนรเทคนคตางๆ ในการเขยนโปรแกรมภาษา Scratch ใน

สวนทสองและสาม

ผเรยนไมควรศกษาบลอกคาสงทละคาสง แตอยางนอยควรเขาใจการแบงหมวดของบลอกตางๆ

ควรเรมจากการศกษาตวปญหา พยายามหาแนวทางของคาตอบ ทดสอบแนวทางนนดวยการ

เขยนโปรแกรม อาจเลยนแบบโปรแกรมทไดศกษามากอนหนานกได เมอผเรยนมประสบการณ

การเขยนโปรแกรมมากขน จะเขาใจการใชงานบลอกตางๆ มากขนตามไปดวย อยางไรกตาม

เมอเกดความสงสยในการใชงานบลอกตางๆ ดานทายของหนงสอไดรวบรวมการใชงานบลอก

คาสงตางๆ ไวสาหรบอางอง

Page 8: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

8 kidsangsan.com สมชาย พฒนาชวนชม

สารบญ

บทนา ........................................................................................................................... 3

โปรแกรม Scratch ............................................................................................................... 9

ทลบารและเมนบาร ............................................................................................... 11

ตวละครและเวท .................................................................................................. 21

พนทสาหรบเขยนสครปต ......................................................................................... 35

ชดตวละครและภาพฉากหลงเวท ................................................................................. 38

เสยงตวละครและเสยงประกอบ ................................................................................... 41

บลอกคาสง ....................................................................................................... 44

การเขยนโปรแกรมใน Scratch ................................................................................................ 55

การสรางสครปต .................................................................................................. 56

หลกการในการเขยนโปรแกรม .................................................................................... 65

โปรเจกใน Scratch ............................................................................................................ 79

โปรเจก Aquarium ................................................................................................. 81

โปรเจก MadLibs .................................................................................................. 92

โปรเจก SimpleCircuit ........................................................................................... 106

โปรเจก GardenSecret ........................................................................................... 124

โปรเจก PianoMachine .......................................................................................... 140

โปรเจก FishChomp ............................................................................................. 157

การใชงานบลอกคาสง ...................................................................................................... 169

แหลงอางอง ................................................................................................................ 185

Page 9: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 9

โปรแกรม Scratch

หนาตาของโปรแกรม Scratch

กอนอนมาทาความรจกหนาตาโปรแกรม Scratch กนกอน โปรแกรม Scratch นนเตมไปดวย

สสนสวยงาม โดยมเวทสาหรบการแสดงจากตวละครตางๆ ซงแตละตวละครรวมทงเวทเอง ตาง

กมบทบาทหนาทของตวเองทถกเขยนไวในสครปต สครปตสรางไดดวยการเขยนโปรแกรม ท

สรางจากบลอกคาสงในหมวดตางๆ นามาประกอบเรยงกนเขาเปนกลมๆ

Page 10: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

10 kidsangsan.com สมชาย พฒนาชวนชม

องคประกอบหลกๆ ในโปรแกรม Scratch จากรปสามารถแบงออกเปนสดสวนไดดงน

1. ทลบารและเมนบาร

2. เวทสาหรบตวละคร

3. รายการตวละครและเวท

4. ขอมลของเวทหรอตวละครทถกเลอก

5. พนทสาหรบเขยนโปรแกรมสครปต ชดตวละคร (ฉากหลงเวท) และเสยงประกอบ ของ

เวทหรอตวละครทถกเลอก

6. บลอกคาสงหมวดตางๆ ซงแยกตามสแตกตางกน

7. บลอกคาสงตางๆ ในหมวดทถกเลอก

Page 11: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 11

ทลบารและเมนบาร

เนองจากความตองการให Scratch ใชงานงาย ไมซบซอน ทลบารจงมไดหลายแหงตามความ

เหมาะสม รวมทงอยรวมกบเมนบารดวย

ทลบาร

ทลบารประกอบไปดวย ปมตางๆ สาหรบงานทใชบอยๆ ทาใหสะดวกในการใชงาน เพยงคลกท

ปมเมอตองการทางานนนๆ

การบนทกโปรเจกปจจบน ทาไดอกวธ คอเลอกเมน File คลกเลอก Save

การแชรโปรเจกไปยงเวบไซต Scratch ทาไดอกวธ คอเลอกเมน Share คลกเลอก Share This

Project Online…

Page 12: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

12 kidsangsan.com สมชาย พฒนาชวนชม

การเปลยนภาษา

สาหรบคนทไมถนดภาษาองกฤษ Scratch รองรบภาษาอนๆ ไดหลายภาษา รวมทงภาษาไทย

ดวย วธการเปลยนภาษาทาไดโดย คลกปมลกโลก จะเหนรายการภาษาตางๆ ใหเลอก

ถาไมพบภาษาไทย หรอภาษาอนทตองการ ใหคลก more... เพอดภาษาอนๆ เพมเตม คลก

เลอก “ไทย” เพอเลอกภาษาไทย

Page 13: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 13

หนาตาโปรแกรมจะเปลยนเปนภาษาไทยเกอบทงหมด ยกเวนชอและขอความทเขยนเปน

ภาษาองกฤษตงแตแรก

Page 14: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

14 kidsangsan.com สมชาย พฒนาชวนชม

การใชเครองมอ

คลกเลอกเครองมอทตองการ ตวชเมาสจะเปลยนเปนรปของเครองมอนน จากนนสามารถคลก

บนตวละคร ชดแตงกาย เสยง บลอกคาสง หรอสครปต ทรองรบเครองมอนนๆ

ถาตองการยกเลกการใชเครองมอ ใหคลกพนทอนๆ ของหนาจอคอมพวเตอร ทไมใช ตวละคร

ชดแตงกาย เสยง บลอกคาสง หรอสครปต

Page 15: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 15

โหมดของเวท

ปมปรบเปลยนโหมดของเวท อยมมบนขวาของโปรแกรม สามารถเลอกเปลยนใหเหมาะสมกบ

งานทกาลงทาอย

โหมดการนาเสนอ (Presentation mode) คลกปมนเมอตองการนาเสนอโปรเจกเตมหนา

จอคอมพวเตอร ถาตองการออกจากโหมดการนาเสนอ กดคย Esc

โหมดการด (View mode) เหมาะสาหรบตอนออกแบบและเขยนโปรแกรมสครปต พนทสขาว

แสดงขนาดของเวท คลกปมระหวางสองปมน เพอสลบระหวางเวทเลกกบเวทใหญ คลกปมแรก

เลอกเวทเลก เพอใหไดพนทในการเขยนสครปตมากขน คลกปมทสองเลอกเวทใหญ เพอดการ

ทางานบนเวทไดชดเจนยงขน ปมทถกเลอกปจจบนจะมกรอบสเทาเขมลอมอย (ปมเวทเลก)

Page 16: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

16 kidsangsan.com สมชาย พฒนาชวนชม

เมนบาร

เมนบารแบงการทางานตางๆ ของ Scratch เปนหมวดหม อยรวมกบปมเครองมอบางสวน

เมน File

ในเมน File มเมนยอย ใชจดการกบโปรเจก Scratch ไดหลายอยาง โดยคลกเลอก

• New สรางโปรเจกใหม

• Open… เปดโปรเจกเกา

• Save บนทกโปรเจกปจจบน

• Save As… บนทกโปรเจกปจจบนในชอใหม

• Import Project… นาเขาตวละครและฉากเวทจากโปรเจกอนๆ มารวมกบโปรเจก

ปจจบน

• Export Sprite… สงออกไฟลของตวละครทถกเลอกอย เพอใชในโปรเจกอน

• Project Notes… เขยนอธบายเกยวกบโปรเจก เชนคาสงในการใชงานโปรเจก

• Quit ออกจากโปรแกรม Scratch

Page 17: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 17

เมน Edit

ในเมน Edit มเมนยอยดงน

• Undelete ก บลอก สครปต ตวละคร ชดละคร หรอเสยง กลบมาจากทถกลบออกไป

• Start Single Stepping แสดงการทางานทละขน แตละบลอกทกาลงทางานจะถกไฮไลท

มประโยชนในการหาขอผดพลาดของโปรแกรม และชวยใหนกเขยนโปรแกรมมอใหม

เขาใจลาดบขนตอนการทางานของโปรแกรม

• Set Single Stepping... ใชกาหนดความเรวการทางานใน 1 ขนตอนของโปรแกรม

• Compress Sounds... บบอดขอมลเสยงเพอลดขนาดของไฟลโปรเจก แตการบบอด

อาจลดคณภาพของเสยง

• Compress Images... บบอดขอมลภาพเพอลดขนาดของไฟลโปรเจก แตการบบอดอาจ

ลดคณภาพของภาพ

• Show Motor Blocks เพมบลอกมอเตอรในบลอกหมวดการเคลอนท สามารถใชบลอก

มอเตอรรวมกบ LEGO® Education WeDo ได เพอควบคมการทางานมอเตอร ท

เชอมตอกบคอมพวเตอร

Page 18: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

18 kidsangsan.com สมชาย พฒนาชวนชม

เมน Share

ในเมน Share มเมนยอยดงน

• Share This Project Online… สาหรบแชรโปรเจกปจจบนไปยงเวบไซตของ Scratch

• Go To Scratch Website… ไปยงเวบไซตของ Scratch (scratch.mit.edu)

เวบไซต Scratch มขอมลทนาสนใจหลายๆ อยางเกยวกบ Scratch สามารถดาวนโหลด

โปรแกรม Scratch ไดทน รวมทงโปรเจกทผอ นแชรไวมากมาย

Page 19: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 19

การแชรโปรเจก

ถาตองการแชรโปรเจกปจจบนทกาลงสรางอยไปยงเวบไซตของ Scratch คลกเมน Share เลอก

Share This Project Online…

การแชรโปรเจก ตองม Login และ Password ถายงไมม สมครไดโดยคลก Create account ซง

จะเปดเวบไซต Scratch ออกมา คลก Sign up เพอสมครสมาชก จากนนใสขอมลตางๆ ท

เกยวกบโปรเจก เชน ชอโปรเจก (Project name) รายละเอยดของโปรเจก (Project notes) และ

สามารถคลกกลองหนา Compress sounds and images เพอบบอดขอมลไฟลเสยงและไฟล

รปภาพใหมขนาดเลกลง

Page 20: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

20 kidsangsan.com สมชาย พฒนาชวนชม

เมน Help

เมน Help ใชสาหรบขอความชวยเหลอในการใชงาน Scratch มเมนยอยดงน

• Help page... นาไปสเวบไซตของ Scratch ทมคมอ เอกสารอางอง บทเรยน และ

คาถามคาตอบทพบบอยๆ

• Help screens... นาไปสเวบไซตของ Scratch ทอธบายการใชงานบลอกตางๆ

• About Scratch... ใหขอมลเกยวกบ Scratch

เมนอนๆ

ถาคลกขวาทตวละคร เวท บลอก หรอพนทวางบางแหง จะมเมนปรากฎขนมา ใหเลอกใชงานท

เกยวของกบสงทคลกนนๆ

Page 21: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 21

ตวละครและเวท

เวท

เวท (Stage) เปนสถานททใหตวละครใชแสดง มภาพฉากหลง (Background) ทสามารถเปลยน

ได มขอบเขตทแนนอน โดยแตละตาแหนงบนเวท ถกกาหนดดวยคา x ในแนวนอน และ y ใน

แนวตง ทมมลางขวามตาแหนงพกดของเมาสแสดงอย

ดานบนซายของเวทแสดงชอของโปรเจก (3 FishChomp) ดานบนขวามปมธงเขยว ใช

สาหรบเรมตนทางานสครปตในโปรเจก สวนปมแปดเหลยมสแดง ใชสาหรบหยดการ

ทางานสครปตทงหมด

Page 22: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

22 kidsangsan.com สมชาย พฒนาชวนชม

เมอคลกขวาบนฉากเวท จะมเมนปรากฎใหเลอกดงน

• grab screen region for new sprite ตกรอบพนทฉากหลงแลวนามาใชเปนตวละคร

ใหม

• save picture of stage… บนทกภาพทงหมดทปรากฎอยบนเวท ณ ขณะนน แลวเกบ

ลงในไฟลภาพ

Page 23: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 23

ขนาดของเวทและตาแหนงตางๆ บนเวท

เวทมขนาด 480 หนวยในแนวนอน (แกน x) และ 360 หนวยในแนวตง (แกน y) การบอก

ตาแหนงใดๆ บนเวทจะอยในรปพกด (x, y) โดยคา x และ y นน จะอางองจากตาแหนง

ศนยกลาง (0, 0) ซงอยตรงกลางเวท ดงนนมมบนลางทงซายขวาจะมตาแหนงตามทแสดงไวใน

รป

ภาพฉากหลงทจะแสดงบนเวทได จะมขนาดไมเกนกวาขนาดของเวท (480 x 360) ถาภาพฉาก

หลงทจะใชมขนาดใหญกวา โปรแกรม Scratch จะลดขนาดของภาพนนตามสดสวนโดย

อตโนมต เพอใหพอดกบขนาดของเวท

Page 24: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

24 kidsangsan.com สมชาย พฒนาชวนชม

รายการตวละครและเวท

ตวละคร (Sprite) คอสงทสรางขนมาเพอใชแสดงบทบาทหนาทบนเวท ตามวตถประสงคทได

ออกแบบไว สวนเวท มฉากหลงแสดงภาพบรรยากาศ และสงแวดลอมในสถานทหนงๆ

ตวละครและเวททใชในแตละโปรเจก จะปรากฎอยในรายการใตเวท เปรยบเสมอนหองแตงตว

ของตวละครกบหองเกบฉากเวท โดยมเสนแบงกนอย หองเกบฉากเวทจะอยซายมอ สวนหอง

แตงตวจะอยดานขวามอ แตละตวละครรวมทงเวท จะมชอกากบอยใตภาพ ตวละครหรอฉาก

เวททถกเลอกจะมกรอบสฟาลอมรอบอย

เมอคลกขวาทตวละครในรายการ จะมเมนปรากฎใหเลอกดงน

• show เพอใหตวละครปรากฎตวบนเวท

• export this sprite สงออกเปนไฟลเพอเกบขอมล ชด และสครปตของตวละครน

• duplicate ทาซาตวละครน

• delete ลบตวละครน

Page 25: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 25

เมอคลกขวาบนตวละครทอยบนเวท จะมเมนปรากฎใหเลอกดงน

• grab screen region for new costume ตกรอบพนทฉากหลงแลวนามาใชเปนชดตว

ละครใหม

• export this sprite สงออกเปนไฟลเพอเกบขอมล ชด และสครปตของตวละครน

• duplicate ทาซาตวละครน

• delete ลบตวละครน

• resize this sprite ปรบขนาดของตวละครน

• rotate this sprite หมนตวละครน

Page 26: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

26 kidsangsan.com สมชาย พฒนาชวนชม

การสรางตวละครใหม

ในการสรางตวละครใหมๆ เพมเขามาในโปรเจกสามารถทาไดหลายวธ โดยการเลอกคลกปม

เครองมอ 3 ปมน

วธทงายทสดในการเพมตวละครใหมในโปรเจก คอคลกทปมน โปรแกรม Scratch จะสมตว

ละคร จากคลงตวละครทมอยในโปรแกรมมาให วธนไดตวละครมาอยางรวดเรว แตไมรวาจะได

ตวละครใดมา

แตถาตองการเลอกตวละครเอง ทาไดโดยคลกปมน โปรแกรมจะแสดงคลงตวละครในหมวด

ตางๆ มาใหเลอก เชนในกรณน ผใชเลอกโฟลเดอรหมวดสตว (Animals) โดยดบเบลคลกทโฟล

เดอรหรอคลกเลอกโฟลเดอรแลวคลกปม OK

Page 27: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 27

ในโฟลเดอรหมวดสตว มตวละครใหเลอกมากมาย ถาตองการเลอกตวละคร เชน ป (crab2) ให

ดบเบลคลกไดเลย หรอคลกเลอกทปแลวคลกปม OK

สงเกตวา ตวละครบางตวจะมสครปตมาดวย เชน มด (Crawling Ant) ม 4 สครปต ถาเลอกมด

กจะไดสครปตมาดวย

วธสดทายถาตองการสรางตวละครดวยตวเอง Scratch กมโปรแกรมสาหรบวาดรปมาใหดวย

โดยการคลกปม จะไดโปรแกรมวาดรป (Paint Editor)

เมอวาดรปเสรจแลว คลกปม OK เพอบนทกรปเปนตวละครใหม ถาไมตองการรปทวาดมา คลก

ปม cancel

Page 28: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

28 kidsangsan.com สมชาย พฒนาชวนชม

สงทสาคญของการสรางตวละครดวยวธนคอ การกาหนดจดศนยกลางของชดตวละคร ซง

นอกจากใชบอกตาแหนงพกดของตวละครแลว ยงเปนจดอางองสาหรบการเคลอนท การหมน

และการสลบทศ

Page 29: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 29

เครองมอวาดรปแถวท 1

• พกน : สาหรบวาดอยางอสระดวยสพนหนาปจจบน บรเวณเครองมอทางเลอกสามารถปรบ

เลอกขนาดของพกนได

• ยางลบ : สาหรบลบอยางอสระ บรเวณทถกลบจะโปรงแสง บรเวณเครองมอทางเลอก

สามารถปรบเลอกขนาดของยางลบได

• ถงเทส : สาหรบเทสบนพนททตอเนองกน ดวยสเดยวหรอเฉดส บรเวณเครองมอทางเลอก

สามารถเลอกรปแบบการเทสได (สเดยว เฉดสแนวนอน เฉดสแนวตง หรอ เฉดสแนวรศม)

เฉดสเกดจากการผสมสจากสพนหนาไปยงสพนหลง

• สเหลยม : วาดรปสเหลยมทบหรอกรอบสเหลยม ดวยสพนหนา บรเวณเครองมอทางเลอก

สามารถเลอกรปแบบของสเหลยมได (สเหลยมทบหรอกรอบสเหลยม) ในกรณของกรอบ

สเหลยม ขนาดของเสนกาหนดไดจากขนาดของพกน

• วงร : วาดรปวงรทบหรอกรอบวงร ดวยสพนหนา บรเวณเครองมอทางเลอกสามารถเลอก

รปแบบของวงรได (วงรทบหรอกรอบวงร) ในกรณของกรอบวงร ขนาดของเสนกาหนดได

จากขนาดของพกน

Page 30: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

30 kidsangsan.com สมชาย พฒนาชวนชม

เครองมอวาดรปแถวท 2

• เสนตรง : วาดเสนตรงดวยสพนหนา บรเวณเครองมอทางเลอก สามารถปรบเลอกขนาด

ของพกนได ถากด Shift + ลากเสน จะบงคบเสนเปนเสนแนวนอนหรอแนวตง

• ขอความ : ใสขอความเขากบรปวาด บรเวณเครองมอทางเลอกสามารถปรบเลอกแบบอกษร

และขนาดของตวอกษรได แตละชดตวละครสามารถใชขอความไดเพยงหนงขอความ

• เครองมอใชเลอกพนท : ตกรอบพนทส เหลยม จากนนสามารถลากยายสเหลยมนไปยง

ตาแหนงใหมได (กดคย Del เพอลบสงทเลอกในสเหลยม กดคย Shift + Del หรอ Shift +

backspace เพอลบสงอนทงหมดทอยนอกกรอบสเหลยม) คลกนอกกรอบสเหลยมเพอ

ยกเลกกรอบสเหลยมปจจบน

• ตราประทบ : เลอกพนทส เหลยมครอบคลมในสงทตองการทาซา จากนนคลกในบรเวณอน

เพอทาซา ยกเลกการทาซาดวยการคลกเครองมอใดๆ กได

• หลอดหยด : ใชปลายหลอดหยดเพอเลอกสสาหรบสพนหนา โดยสามารถเลอกไดจากจานส

หรอบรเวณภายในผนผาใบ ถาตองการเลอกสทอยนอกบรเวณผนผาใบ ใหคลกหลอดหยด

ในผนผาใบ แลวลากออกไปขางนอกผาใบเพอเลอกสทตองการ

Page 31: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 31

เครองมออนๆ

• คลกบรเวณสปจจบนแตละครง จะสลบสระหวางสพนหนากบสพนหลง คลกสในจานสเพอ

เลอกสใหมสาหรบสพนหนา ถาตองการเลอกสสาหรบสพนหลง กดคย Shift + คลกสในจาน

• คลกเลอกจานสทางเลอก เพอเปลยนจานสเปนจานสแบบตอเนอง

• คลกปมกาหนดจดศนยกลาง เพอเลอกตาแหนงในรป ใหเปนจดศนยกลางของการหมนเมอ

ตวละครถกหมนบนเวท

• คลกปมซมภาพ เพอขยายหรอยอผนผาใบ ถาซมภาพเกน 100% แถบเลอนภาพใน

แนวนอนและแนวตงจะปรากฎ เพอใชสาหรบเลอนดภาพในผนผาใบ การซมภาพไมได

เปลยนขนาดของภาพ

• คลกปมมาตราสวน (หดหรอขยาย) เพอเปลยนขนาดรปในผนผาใบ หรอรปในสวนทเลอกไว

ถากดคย Shift + คลกปมมาตราสวน จะสามารถใสคาขยายเปนเปอรเซนตได (100 % คอ

มาตราสวนดงเดม)

• คลกปมหมน (ตามเขมหรอทวนเขมนาฬกา) เพอหมนรปในผนผาใบ หรอรปในสวนทเลอก

ไว ถากดคย Shift + คลกปมหมน จะสามารถใสคาองศาได

• คลกปมสลบดาน (แนวนอนหรอแนวตง) เพอสลบดานของรปในผนผาใบ หรอรปในสวนท

เลอกไว

• คลกปมนาเขา เพอเปดรปภาพจากไฟล และใสไวบนผนผาใบ

• คลกปมลางผาใบ เพอลางรปทงหมดจากผนผาใบ

• ถาเกดขอผดพลาดระหวางวาดรป คลกปมยกเลก เพอยกเลกสงทเพงทาไป แตถาเปลยนใจ

ตองการนาสงทเพงยกเลกไปกลบมา คลกปมทาซา

Page 32: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

32 kidsangsan.com สมชาย พฒนาชวนชม

ขอมลของตวละคร

เมอคลกเลอกตวละครในรายการ หรอดบเบลคลกตวละครบนเวท จะเหนขอมลสวนตวของตว

ละครนน

ตวละครมสวนประกอบอยหลายอยาง เชน ชอ (Creature6) ทศทางการเคลอนท (104)

ตาแหนงบนเวท (x: -166 y: 125) สของปากกา (สฟา) สครปต (Scripts) ชดตวละคร

(Costumes) เสยง (Sounds) รปแบบในการหมน และความสามารถในการเคลอนทดวยการใช

เมาสลากในโหมดนาเสนอหรอบนเวบไซต Scratch แมกญแจปดหมายถงไมสามารถทาได คลก

แมกญแจเพอปลดลอก ใหสามารถทาได

สวนประกอบบางอยางอาจมหรอไมมกได เชน สครปตและเสยง แตองคประกอบทตองมคอ ชอ

ทศทางการเคลอนท ตาแหนงบนเวท ซงจะถกกาหนดโดยอตโนมตถาไมระบตอนสรางตวละคร

สวนชดตวละคร ซงบงบอกหนาตา และการมอยของตวละครนนๆ ตองมในตอนสรางตวละคร

Page 33: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 33

ทศทางการเคลอนท

ทศทางบนเวทจะถกระบเปนองศา ระหวาง -180 ถง 180 องศา ทศ 0 ชไปดานบน หมนตาม

เขนนาฬกาเปนทศบวก หมนทวนเขนนาฬกาเปนทศลบ ทศ -180 กบ 180 องศาชไปดานลาง

เหมอนกน แตมาจากคนละดาน (ตามรป)

เมอนารปปลามาใสกรอบทศทางจะไดดงรป เสนสนาเงนเปนตวบอกทศทางการเคลอนทปจจบน

คอ 104 องศา การเปลยนทศทางทาไดโดยคลกทตวปลาแลวหมนตามทศทเราตองการ สงเกต

วาเสนบอกทศทางสนาเงนและตวเลขบอกทศองศาจะเปลยนตามขณะหมนดวย

Page 34: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

34 kidsangsan.com สมชาย พฒนาชวนชม

ขอมลของเวท

เมอคลกเลอกเวทในรายการ หรอดบเบลคลกพนทวางบนเวท จะเหนขอมลสวนตวของเวท

เวทมสวนประกอบนอยกวาตวละครมาก เนองจากเวทเคลอนทไมได จงไมจาเปนตองมตาแหนง

ทศทางการเคลอนท รปแบบในการหมน และความสามารถในการเคลอนทดวยการใชเมาสลาก

เวทวาดรปบนตวเองไมได จงไมมปากกาสาหรบวาดรป แตสามารถลบรปบนเวทได ในแตละโป

รเจกมเวทเดยว จงมชอเดยว (Stage) และไมสามารถเปลยนชอได

อยางไรกตามเวทสามารถมสครปตเปนของตวเอง มภาพฉากหลงไดหลายภาพ และมเสยง

ประกอบเวทได

Page 35: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 35

พนทสาหรบเขยนสครปต

สครปตสาหรบตวละคร

เมอเลอกตวละครแลว (เชน hungry fish) คลกแทป Scripts จะเหนพนทสาหรบเขยนสครปต

สครปตคอชดคาสงสาหรบตวละครหรอเวท เพอใหทางานตามทออกแบบโปรแกรมไว

สครปตของตวละครหนงๆ มไดหลายสครปต (2 สครปตในตวอยางน) หรอไมมเหลอกได

สครปตหนงๆ ประกอบไปดวยบลอกคาสงมาเรยงตอกนเปนกลม บางบลอกสามารถอยขางใน

หรอซอนอยบนบลอกอนได

Page 36: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

36 kidsangsan.com สมชาย พฒนาชวนชม

เมอคลกขวาทบลอกใดๆ บนสครปต จะมเมนปรากฎดงน

• help เพอขอความชวยเหลอ ดวาบลอกนนทางานอยางไร

• duplicate ทาซาบลอก โดยบลอกทจะถกทาซา จะมาตงแตบลอกทถกคลกรวมไปถง

บลอกทตามมาดวย

แตถาคลกขวาบลอกบนสดของสครปต ซงเปนตวแทนของทงสครปต จะมเมนเพมอกอยางคอ

delete คลกเพอลบบลอกทงสครปต

Page 37: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 37

สครปตสาหรบเวท

สครปตสาหรบเวทกคลายๆ กบของตวละคร เพยงแตวาบลอกทสามารถใชงานไดจะลดลง

โดยเฉพาะบลอกหมวดการเคลอนทนนไมมเลย เนองจากเวทไมสามารถเคลอนทไดนนเอง

เมอคลกขวาบนพนทวาง จะมเมนใหเลอกดงน

• clean up เพอจดระเบยบการใชพนทของแตละสครปตใหเปนระเบยบเรยบรอย

• save picture of script เพอบนทกสครปตทงหมดใหเปนไฟลภาพ

• add comment จะปรากฎพนทสเหลอง สามารถบนทกขอความเกยวกบสครปตทกาลง

เขยนอย เพอใชเตอนความจาในภายหลง

Page 38: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

38 kidsangsan.com สมชาย พฒนาชวนชม

ชดตวละครและภาพฉากหลงเวท

คลกแทป Costumes ของ hungry fish เพอด แกไข หรอเพมเตมชดของตวละคร ซงในตวอยาง

นม 2 ชด ชดทใสอยปจจบน จะมกรอบสฟาลอมอย สามารถใชเมาสคลกชดอน เพอเปลยนชด

ใหตวละครบนเวทได ชดแตละชดเกดจากรปภาพ ซงมสวนประกอบดงน (สาหรบชดปจจบน)

• ชอชด (open-mouth)

• ขนาดของภาพ (214 x 111)

• ขนาดไฟลของภาพ (2 KB)

• ลาดบชดกากบอยทมมซายบน (1) ซงสามารถสบเปลยนไดดวยการลากชดขนลง ไป

ตาแหนงทตองการ

• ปม Edit เพอแกไขภาพในโปรแกรมวาดรป (Paint Editor)

• ปม Copy เพอทาซาชดน

• ปมลบชด เมอไมตองการชดนแลว

Page 39: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 39

คลกขวาทชดใด จะมเมนใหเลอกดงน

• turn into new sprite จะสามารถสรางตวละครใหมจากชดนได

• export this costume จะสามารถสงออกชดนเพอเกบไวในไฟลได

เมอเลอกเวท แลวคลกแทป Backgrounds ของเวท เพอด แกไข หรอเพมเตมฉากหลง ซงม

สวนประกอบคลายกบชดตวละคร เพยงแตวาภาพของฉากหลงมขนาดไมเกน 480 x 360 ตาม

ขนาดของเวท

Page 40: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

40 kidsangsan.com สมชาย พฒนาชวนชม

การสรางชดละครหรอฉากหลง

การสรางชดละครหรอฉากหลงทาไดหลายวธ เมอคลกแทป Costumes หรอแทป Backgrounds

จะเหน 3 ปมสาหรบสรางชดตวละครหรอฉากหลง

• คลกปม Paint เพอวาดชดใหม โดยใชโปรแกรมวาดรป (Paint Editor)

• คลกปม Import เพอโหลดชดทมมากบโปรแกรม Scratch (ชดอยางเดยว ไมมสครปต)

• คลกปม Camera ถาเครองคอมพวเตอรมกลอง คลกปมรปกลองหรอกดแปนเวนวรรค

เพอถายรป เมอถายเสรจคลกปม Done กจะไดรปออกมา เปนชดถดไปของตวละครท

เลอกปจจบน หรอภาพฉากหลงถดไปของเวท

นอกจากนนยงสามารถลากรปภาพ จากเวบไซต โฟลเดอร หรอเดสกทอป มาใสในรายการของ

ชดตวละครหรอภาพฉากหลงไดเลย

Page 41: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 41

เสยงตวละครและเสยงประกอบ

คลกแทป Sounds ของ hungry fish เพอฟง แกไข หรอเพมเตมเสยงใหกบตวละคร ตวอยางนม

เพยงเสยงเดยวในรายการ เสยงไมไดเกดขนตลอดเวลา แตจะสงเสยงเมอถกเรยกใชงานเทานน

เสยงแตละเสยงมสวนประกอบดงน

• ชอ (chomp)

• ระยะเวลา (0:00:01)

• ขนาดไฟล (31 KB)

• ปมเปดเสยง สาหรบทดสอบเสยง

• ปมปดเสยง

• ปมลบเสยง ถาไมตองการเสยงนแลว

เมอคลกขวาทเสยงจะมเมน export this sound ใหเลอก เพอสงออกเสยงนเกบไวในไฟล

Page 42: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

42 kidsangsan.com สมชาย พฒนาชวนชม

การสรางเสยง

คลกแทป Sounds จะเหน 2 ปมสาหรบสรางเสยง ใหกบตวละครหรอเวท

คลกปม Record จะไดโปรแกรมบนทกเสยง (Sound Recorder) ออกมา เพอบนทกเสยงจาก

ผใช ผานไมโครโฟนของเครองคอมพวเตอร โปรแกรมบนทกเสยงมแถบบนทกเสยง และเวลาท

ใชไปในการบนทกเสยงกากบอยดวย

การบนทกเสยงกคลายกบเครองเสยงทวๆ ไป คลกปมวงกลมสแดงเรมบนทกเสยง เมอบนทก

เสรจ คลกปมหยดเสยง (สเหลยม) จากนนสามารถคลกปมเลนเสยง (สามเหลยม) เพอทดสอบ

เสยงทบนทกมา ถาไมพอใจเสยงทไดมา สามารถบนทกใหมได ดวยการคลกปมบนทกเสยงอก

ครง บนทกซากคร งกไดจนกวาจะพอใจ ถาพอใจกบเสยงทบนทกแลว คลกปม OK เพอนาไปใช

งานตอไป แตถาไมตองการเสยงทบนทกแลว กคลกปม Cancel เพอยกเลกการบนทกเสยง

คลกปม Import เพอนาเขาไฟลเสยง ซงไฟลนนอาจบนทกดวยโปรแกรมบนทกเสยงใน

โปรแกรม Scratch หรอโปรแกรมบนทกเสยงอนๆ หรอจะใชไฟลเสยงทมอยในโปรแกรม

Scratch กได เมอคลกปม Import จะไดหนาตาง Import Sound แสดงโฟลเดอรเสยงในหมวด

ตางๆ ทอยในโปรแกรม Scratch

Page 43: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 43

เมอคลกเลอกโฟลเดอร เชน Animal จะเหนไฟลเสยงมากมาย เมอคลกทไฟลใดจะไดยนเสยง

นนทนท แตถาตองการนาเขาไฟลใด ใหดบเบลคลกทไฟลนน หรอคลกเลอกไฟลนน แลวคลก

ปม OK

Page 44: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

44 kidsangsan.com สมชาย พฒนาชวนชม

บลอกคาสง

บลอกคาสง เปนสวนประกอบหลกของสครปต ใชสาหรบสงใหตวละครหรอเวททางานตาม

วตถประสงคของคาสงนนๆ

Scratch แบงบลอกคาสงเปนหมวดตางๆ 8 หมวด มสตางกน ตามลกษณะหนาทของแตละ

หมวด เมอคลกทบลอกหมวดใด จะเหนคลงบลอกคาสงในหมวดนน โดยบลอกคาสงทปรากฎ

จะขนกบวา ณ ขณะนน เลอกตวละครหรอเวทอย

บลอกคาสงสาหรบตวละครกบเวทบางหมวด อาจมความแตกตางกนบาง เนองจาก

ความสามารถทแตกตางกน เชน เวทเคลอนทไมได ดงนนจงไมมบลอกคาสงในหมวดการ

เคลอนทสาหรบเวทเลย

Page 45: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 45

คลงบลอกคาสงสาหรบตวละคร

บลอกหมวดการเคลอนท (Motion) เกยวกบการเคลอนท และการยายตาแหนงของตวละคร

บลอกหมวดรปราง (Looks) เกยวกบรปรางของตวละคร เชนส ขนาด การแสดงคาพด และ

ความคด รวมถงเอฟเฟคตางๆ

Page 46: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

46 kidsangsan.com สมชาย พฒนาชวนชม

บลอกหมวดเสยง (Sound) ใชสาหรบเปดเสยงดนตรชนดตางๆ ผใชอาจอดเสยงพดดวยตวเอง

แลวนามาใสในตวละคร เหมอนกบการพากยเสยง

บลอกหมวดปากกา (Pen) ใชสาหรบวาดรปหรอประทบรป (ของตวละคร) บนเวท

Page 47: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 47

บลอกหมวดควบคม (Control) ใชในการบงคบทศทางการทางานของสครปตเชน การทางานซา

การตดสนใจ การตดตอสอสารกบตวละครอนๆ และทสาคญใชกาหนดเรมตนและหยดการ

ทางานของสครปต

Page 48: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

48 kidsangsan.com สมชาย พฒนาชวนชม

บลอกหมวดกาลงรบร (Sensing) ใชรบสญญานตางๆ ทมตอตวละครหรอผใชงาน เชน การชน

กนของตวละคร การกดคยของผใชงาน

Page 49: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 49

บลอกหมวดโอเปอรเรเตอร (Operators) เกยวกบการคานวณทางคณตศาสตร ตรรกะ และการ

จดการตวอกษร และขอความ

Page 50: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

50 kidsangsan.com สมชาย พฒนาชวนชม

บลอกหมวดตวแปร (Variables) ใชในการสรางตวแปรเพอเกบขอมลเอาไวใชภายหลง ตวแปรท

สรางสามารถใชสวนตวของแตละตวละคร หรอใชรวมกนกบตวละครทงหมดรวมทงเวทดวย

เมอสรางตวแปรแลว เชน ตวแปร score และตวแปรลสต level จะมบลอกสาหรบจดการตวแปร

เพมขนมา

ถาคลกกลองหนาตวแปร จะปรากฎเครองหมายถกภายในกลอง (คลกอกครงเพอยกเลก) เพอ

ทาใหตวแปรนแสดงอยบนเวท

Page 51: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 51

คลงบลอกคาสงสาหรบเวท

เวทไมสามารถเคลอนทได ทาใหบลอกคาสงหมวดการเคลอนทไมมเลย สวนหมวดอนๆ กม

บลอกคาสงนอยกวาของตวละคร เชน หมวดปากกามแตบลอกลบเทานน เนองจากตวละคร

เทานนทวาดรปได หมวดรปรางจะมบลอกคาสงเกยวกบฉากหลงเทานน สวนหมวดควบคม ม

บลอกเหมอนกนหมด ยกเวนบลอก เมอเวทถกคลก “when Stage clicked” (ตดมาใหดเฉพาะ

สวนทตางกน)

Page 52: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

52 kidsangsan.com สมชาย พฒนาชวนชม

บลอกหมวดรบร ไมมบลอกการรบรทางสมผส และการรบรระยะทาง

สวนบลอกหมวดโอเปอรเรชน หมวดเสยง และหมวดตวแปรเหมอนกนกบของตวละคร

Page 53: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 53

บลอกยงถกแบงตามรปรางและลกษณะการวางตอกน ซงมอย 6 แบบดงน

1. Hat blocks

ม 4 บลอกอยในหมวดควบคม เปนบลอกเรมตนของทกๆ สครปต ดานบนจะโคงมนคลาย

หมวก ดานลางมสวนนนยนออกมาสาหรบตอกบบลอกทตามมา

2. Stack blocks

เปนบลอกสวนใหญททางานหลกๆ สามารถเรยงตอกนได ใน Scratch ม 75 บลอก ดานบน

จะเวาสวนดานลางจะนนทาใหมนวางดานบน ดานลาง หรอระหวางกลางบลอกอนได

3. Boolean blocks

เปนบลอกทคนคาคาตอบถกหรอผด มทงหมด 13 บลอก อยในบลอกหมวดโอเปอรเรชน

และบลอกหมวดกาลงรบร รปรางของบลอกจะเปนหกเหลยมไมมสวนยนหรอเวา ใชซอนอย

ขางในบลอกอนอกท สวนใหญใชแสดงเงอนไขใน C blocks หรอ Boolean blocks ดวย

กนเอง

Page 54: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

54 kidsangsan.com สมชาย พฒนาชวนชม

4. Reporter blocks

เปนบลอกทใชคนคาไดทงตวเลขหรอตวอกษร มทงหมด 26 บลอก โดยไมรวมบลอกทเกด

จากการสรางตวแปรหรอลสตในแตละครง รปรางของบลอกจะโคงมนไมมสวนยนหรอเวา ใช

ซอนอยขางในบลอกอนอกท สวนใหญใชใน Stack blocks ทตองการคาสาหรบขอมลเขา

นอกจากนนยงใชใน C blocks และ Boolean blocks หรอแมกระทงใน Report blocks ดวย

กนเองกม

5. C blocks

มทงหมด 6 บลอกอยในบลอกหมวดควบคม เปนบลอกรปรางคลายตว "C" ใชครอบบลอก

อนๆ เพอใหทางานตามเงอนไขหรอทางานซาหลายๆ รอบ รปรางของบลอกภายในตว "C"

มสวยนนเปนจดเรมตนสาหรบการเชอมตอกบบลอกทอยภายใน ภายนอกตว "C" มสวนเวา

ดานบนและสวนนนดานลาง ทาใหบลอกเหลานตอดานบนหรอดานลางกบบลอกอนไดอก

6. Cap blocks

มอย 2 บลอกในหมวดควบคม ใชสาหรบหยดการทางานสครปต สวนบนเวาสวนลางเรยบ

ทาใหบลอกเหลานเปนบลอกสดทายในสครปต หรอบลอกสดทายใน C blocks

Page 55: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 55

การเขยนโปรแกรมใน Scratch

การเขยนโปรแกรมใน Scratch คอการเขยนสครปตให ตวละครแตละตวรวมทงเวททางาน

รวมกน โดยทตวละครแตละตวรวมทงเวท สามารถมไดหลายสครปตหรอไมมสครปตเลยกได

สครปตประกอบจากบลอกคาสงเพอทางาน ตามทออกแบบโปรแกรมไว รปดานบนเปนสครปต

ของตวละครปลา (hungry fish) ทมอย 2 สครปต แถบสขาวทลอมรอบสครปตแรก หมายถง

สครปตนกาลงทางานอย

Page 56: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

56 kidsangsan.com สมชาย พฒนาชวนชม

การสรางสครปต

การเขยนโปรแกรมสครปต เปนการนาบลอกมาเรยงตอกนอยางมความหมาย หลกการและ

ความเขาใจในการเขยนโปรแกรม จะทาใหผเรยนเขยนสครปตไดถกตองตามเปาหมาย

การเขยนสครปตใหกบตวละครหรอเวท เรมตนดวยการเลอกตวละครหรอเวทกอน จากนนคลก

แทปสครปต ซงเปนพนทสาหรบเขยนสครปต

การนาบลอกมายงพนทเขยนสครปต เรมจากเลอกหมวดของบลอกกอน จากนนจะเหนคลง

บลอกคาสงในหมวดนนดานลาง ลากบลอกทตองการไปยงพนทเขยนสครปต ถาไมตองการ

บลอกใดๆ ทอยในพนทเขยนสครปตแลว กลากมนกลบมายงพนทของคลงบลอกคาสงได หรอ

คลกขวาทบลอกนนแลวเลอก delete

Page 57: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 57

ขอมลสาหรบบลอกคาสง

บลอกคาสงจะทางานหรอทาหนาทอยางใดอยางหนง โดยทบางบลอกจะทางานไดนนตองรบ

ขอมลเพมเตม บางบลอกสามารถคนขอมลได บางบลอกสามารถทงรบทงคนขอมล ทงนขนอย

กบหนาทและวตถประสงคของแตละบลอก

ขอมลทใชในบลอกมหลายชนด ไดแก ตวเลข ตวอกษร ส ขอมลทอยในตวแปร ขอมลรายการ

เชน คยบอรด โนตดนตร ประเภทเครองดนตร ตวละครทสรางขน ฯลฯ

การใสขอมลในบลอก

บางบลอกจะมแถบสขาว สามารถใสขอความหรอตวเลขได เชน บลอกเคลอนท

ตองการคาตวเลขจานวนกาวในการเคลอนท ถาตองการเปลยนคาน ใหคลกทแถมสขาว จากนน

พมพแกไขขอมล แถบสขาวนยงสามารถรบคาทคนมาจากบลอกอนได ดวยการใสบลอกนนลง

ในแถบสขาวโดยตรง เชน คาตาแหนง x ทไดจากบลอก

บางบลอกสามารถเลอกคาไดจากเมนรายการแบบดงลง เชน โดยคลกท

สามเหลยมจะเหนรายการ จากนนคลกเลอกรายการทตองการ

โดยปกต Scratch จะปองกนการใสขอมลไมตรงกบชนดขอมลทบลอกตองการ ถาใสไมตรงจะใช

คาโดยปรยาย (Default) ทกากบไวแทน เชน ถาบลอกตองการตวเลข แตพยายามใสตวอกษร

แทน กจะไดเลขคาโดยปรยายทกากบไว แตถาไมมคาใดกากบเลย กจะเปน 0 แทน ถาบลอก

ตองการขอมลตวอกษร ตวเลขสามารถใสได เพราะถอวาเปนตวอกษรดวย ถาไมใสเลยกได

เพราะชองวางถอวาเปนอกษรวางนนเอง สวนขอมลในรายการจะไมมปญหาเนองจากใชวธคลก

เลอกรายการ

Page 58: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

58 kidsangsan.com สมชาย พฒนาชวนชม

ลาดบการทางานของบลอกทซอนกน

ปกตบลอกในสครปตจะทางานจากบนลงลาง ถาเจอบลอกควบคมใดๆ บลอกทอยภายในกจะ

ทางานจากบนลงลางเหมอนกน เมอบลอกมบลอกอนซอนกนหลายชน จะเรมทางานจากบลอก

ดานในสดกอน เปรยบเสมอนการใสวงเลบซอนกนในทางคณตศาสตร ซงลาดบการทางานจะทา

จากวงเลบในสดกอน ถาอยในระดบเดยวกน จะทาจากซายไปขวา เชน เงอนไขจากบลอกโอ

เปอรเรชนทซอนกนตามรปน สามารถเขยนในรปแบบวงเลบไดดงน

((battconnected = 1) and ((Switch = 1) and (bulbconnected =1)))

สครปตจะตรวจสอบขอเทจจรงจากเงอนไข Switch = 1 กอน ถดไปตรวจสอบ bulbconnected

= 1 ตามดวยการตรวจสอบขอเทจจรงจากเงอนไข battconnected = 1

จากนนหาขอเทจจรงจากโอเปอรเรชนตรรกะและ (ขวา) ระหวางขอเทจจรง Switch = 1 และ

bulbconnected = 1 คาตอบทไดนามาหาขอเทจจรงสดทายดวยโอเปอรเรชนตรรกะและ (ซาย)

กบคาตอบทไดจากเงอนไข battconnected = 1

Page 59: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 59

ความชวยเหลอการใชบลอก

ใน Scratch มบลอกมากมาย จะรไดอยางไรวามนทางานอยางไร นอกจากคมอทอานไดจาก

เวบไซต หรอไฟลคมอ PDF แลว ในตวโปรแกรม Scratch เองกมวธการใชงานฉบบยอใหดวย

โดยการคลกขวาบลอกทตองการรการทางานของมน ซงจะเปนบลอกทอยในสครปต หรอบลอก

ทอยในคลงบลอกคาสงกได จากนนเลอก Help

ตวอยางเชน Help ของบลอกคาสงเพอเปลยนภาพฉากหลงเวทภาพถดไป (next background)

จะไดรปเหมอนขางลางน

ในหนาตาง Help จะอธบายหลกการใชงาน และวตถประสงคของบลอกน พรอมทงตวอยางการ

ใชงานใหดดวย

Page 60: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

60 kidsangsan.com สมชาย พฒนาชวนชม

การตอบลอก

บลอกทสามารถเรยงตอกนได เมอลากบลอกเขาไปใกลๆ กบบลอกเปาหมาย จะเหนแถบสขาว

ขน เปนการบอกวาบลอก 2 บลอกนสามารถตอกนได เมอวางบลอกลง บลอกจะตอไดสนทกบ

บลอกเปาหมาย

บลอกทตอกนไมได จะไมเหนแถบสขาวน และไมสามารถบงคบใหตอกนได ถาวางบลอกลงไป

บลอกจะอยเหลอมกบบลอกเปาหมาย แตจะไมตอกน

โดยทวไป รปรางของบลอกจะบงบอกอยแลววาบลอกสามารถตอกนไดหรอไม ลองสงเกตจาก

สองตวอยางทผานมา การใชแถบสขาว เปนตวชวยอกอยางหนง เพอลดความยากในการเขยน

โปรแกรม และปองกนการเกดขอผดพลาดในไวยากรณของโปรแกรมภาษา ซงเกดขนบอยๆ ใน

โปรแกรมภาษาอน

Page 61: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 61

การซอนบลอก

บลอกสามารถซอนกนไดหลายๆ ชน การซอนบลอกเขาไปขางในของบลอกอน กคลายกบการ

ตอบลอก คอเมอลากบลอกเขาไปใกลๆ บลอกทตองการจะซอนบลอกภายใน จะเหนแถบสขาว

ลอมรอบบรเวณทสามารถวางบลอกได เปนการบอกวา ตาแหนงนสามารถวางบลอกได บลอกท

วางไมไดจะไมเหนแถบสขาวน และไมสามารถบงคบใหวางได ถาวางไปมนกจะลอยอยดานบน

แตไมเขาไปดานในบลอก

Page 62: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

62 kidsangsan.com สมชาย พฒนาชวนชม

การนาบลอกออก

การนาบลอกทไมตองการออกจากสครปต ทาไดโดยคลกเลอกบลอกแลวลากออกมาจากสครปต

โดยทตาแหนงของบลอกในสครปตจะทาใหการดงบลอกออกมาไดไมเหมอนกน เชนตวอยาง

ดานลางน

(1) เปนสครปตเรมตน

(2) ถาบลอกทตองการเอาออกอยลางสดของสครปต หรอบลอกลางสดทอยใน C บลอก

บลอกนนบลอกเดยวจะถกดงออกมา

(3) แตถาบลอกนนมบลอกอนตามมาตดกน บลอกทตามมาจะถกดงออกมาดวย

(4) ถาดง C บลอกออกมา บลอกทอยภายใน C บลอกนน (และบลอกอนทตอตาม C บลอก

ดวย) กจะถกดงออกตามมาดวย

Page 63: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 63

การรนสครปต

การรนสครปตคอการสงใหสครปตทางาน ทาไดสองวธ คอ รนสครปตเฉพาะตวละครหรอเวท

กบ รนสครปตทงโปรเจก (ทกตวละครและเวท)

การรนสครปตของตวละคร (หรอเวท) ใชทดสอบการทางานของสครปตของตวละครนนๆ (หรอ

เวท) ทาไดดวยการดบเบลคลกทบลอกใดกไดในสครปตนน สครปตใดทางานอย จะมเสนสขาว

ลอมรอบสครปตนน ในตวอยางน ตวละคร hungry fish มสครปตกาลงทางานพรอมกน 2

สครปต

สครปตแตละสครปตจะทางานจากบนลงลาง ถาสครปตทางานเพยงรอบเดยว สครปตจะหยด

การทางานเองเมอบลอกสดทายทางาน แตถาสครปตทางานหลายรอบ กจะทางานซาจนกวาจะ

ครบรอบตามทกาหนดไว กอนทจะหยดทางาน แตถาสครปตทางานตลอดเวลา (ในบลอก

forever) สครปตจะทางานซาไปเรอยๆ และถาตองการหยดทางานสครปตนน ทาไดดวยการ

ดบเบลคลกทบลอกใดกไดของสครปตนนอกครง

Page 64: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

64 kidsangsan.com สมชาย พฒนาชวนชม

การรนสครปตทงโปรเจกของทกตวละครและเวทพรอมกน คอการคลกปมธงเขยว ทอยมม

ขวาบนของเวท ทกสครปตของทกตวละครและเวท ทเรมตนสครปตดวยบลอกธงเขยว

จะทางานพรอมกน และถาตองการหยดการทางานทงโปรเจก ใหคลกปม

แปดเหลยมสแดง ถดจากปมธงเขยว

Page 65: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 65

หลกการในการเขยนโปรแกรม

หลกการและแนวคดในการเขยนโปรแกรมมมากมาย บางภาษาคอมพวเตอรกมหลกการและ

แนวคดเหมอนกนบาง ตางกนบาง ดงนนความเขาใจในหลกการและแนวคดทมใน Scratch

สามารถนาไปประยกตใชไดอก ในการเรยนภาษาคอมพวเตอรอนๆ ตอไป

หลกการและแนวคดทมใน Scratch บางอยางตองเอาออก เพราะอาจยากเกนไปสาหรบเดก แต

เพยงพอตอการทาโปรเจกไดมากมาย หลกการและแนวคดดงกลาวมดงน

• Sequence การทางานแบบเรยงลาดบ

• Control flow การควบคมลาดบการทางาน มสองแบบ คอแบบวนซา (Loop) และแบบม

เงอนไข (Condition)

• Parallelism การทางานแบบคขนาน

• Operation: การประมวณผลอกขระขอความ (String) หรอการคานวณทางคณตศาสตร

(Logic, Mathematical functions)

• Input การสงขอมลจากผใชใหกบโปรแกรมขณะทางาน

• Message การสงสารระหวางตวละครตางๆ และเวท

• Event and event handling เหตการณและการตอบสนองตอเหตการณนนๆ

• Synchronization การประสานและสงตอการทางาน

• user interaction การตดตอและโตตอบระหวางผใชกบโปรแกรม

• User interface design การออกแบบวธการและชองทางการสอสารระหวางโปรแกรม

กบผใช

• Variable and structured variable ตวแปร และตวแปรทมโครงสราง

Page 66: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

66 kidsangsan.com สมชาย พฒนาชวนชม

การทางานแบบเรยงลาดบ (Sequence)

การสรางโปรแกรมใน Scratch ผเขยนโปรแกรมตองคดอยางเปนระบบ เกยวกบลาดบขนตอน

การทางาน เพอใชในการสรางสครปต โดยการนาบลอกคาสงมาเรยงตอกนอยางมความหมาย

ตามเปาหมายทวางไว

ตวอยางเชน การใหตวละครวาดรปสเหลยมหนงรป จะประกอบไปดวยการทางานยอยหลายๆ

คาสงดวยกน นนคอ การจรดปากกาลงเตรยมวาดรป การเคลอนทไปขางหนา 50 กาว จากนน

เปลยนทศทางทวนเขมนาฬกาไป 90 องศา แลวกเคลอนทไปอก 50 กาว เปลยนทศทางทวน

เขมนาฬกาอก 90 องศา ทาแบบนเพมอก 2 รอบ กจะไดการวาดรปสเหลยมหนงรป จากนนจง

ยกปากกาขน

จะเหนไดวาการเขยนสครปตใหทางานอะไรสกอยาง มกจะเรมจากภาพรวมหรอเปาหมายกอน

จากนนแจกแจงงานเปนลาดบขนตอน สรางงานยอยๆ และประกอบเขาดวยกน เพอใหงานใหญ

นนสาเรจตามเปาหมาย

Page 67: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 67

การควบคมลาดบการทางาน (Control flow)

งานบางอยางงายพอทจะทาแบบเรยงลาดบ ลาดบการทางานของสครปตจงตรงไปตรงมา

ทางานเรยงลาดบจากบลอกบนสด ลงไปจนถงบลอกลางสด แตงานบางอยางมความซบซอน

มากขน การทางานแบบเรยงลาดบอาจไมเพยงพอ หรอไมมประสทธภาพ

ดงนนจงมการควบคมลาดบการทางาน อกสองลกษณะเพอเพมขดความสามารถในการเขยน

โปรแกรม นนกคอ การควบคมลาดบการทางานแบบวนซา (Loop) และการควบคมลาดบการ

ทางานแบบมเงอนไข (Condition) โดยใชบลอกทาซาและบลอกเงอนไข ทมอยหลายแบบให

เลอกใชในบลอกหมวดควบคม

Page 68: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

68 kidsangsan.com สมชาย พฒนาชวนชม

การควบคมลาดบทางานแบบวนซา (Loop)

การควบคมลาดบการทางานแบบวนซา เปนการทาซางาน (บลอกทอยภายในบลอกทาซา)

เหมอนเดมหลายๆ ครง เชน การใหตวละครวาดรปสเหลยมนน สวนหนงของงานน คอใหตว

ละครเคลอนทเปนสเหลยม ซงมลกษณะการทางานซากน คอเคลอนทไปขางหนา 50 กาว

จากนนเปลยนทศทวนเขมนาฬกาไป 90 องศา ทาแบบนซากน 4 รอบจะไดรปสเหลยม ถงแม

การเขยนแบบเรยงลาดบจะตรงไปตรงมา แตโปรแกรมจะยาวเกนไป ถาใชการควบคมลาดบการ

ทางานแบบวนซา จะไดสครปตใหมทส นลงและอานทาความเขาใจไดงายกวาดงน

การควบคมลาดบการทางานแบบวนซา มหลายลกษณะ ตามแตละชนดของบลอกควบคม เชน

การทางานซาทไมกาหนดจานวนรอบ คอทาไปตลอดจนกวาจะจบโปรแกรม

การทางานซาทกาหนดจานวนรอบทแนนอน เชน 10 รอบ

การทางานซาทข นกบเงอนไข โดยกอนจะทาซา ตองตรวจสอบเงอนไขกอน วายงเปนจรงอย

หรอไม ถาเงอนไขเปนจรงจงจะทาซา หรอถาเงอนไขเปนจรงจงหยดทาซา

Page 69: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 69

การควบคมลาดบการทางานแบบมเงอนไข (Condition)

เงอนไขถกใชในการควบคมทศทางการทางาน โดยการตดสนใจทจะทางานหรอไมทา หรอตอง

เลอกทางานอยางใดอยางหนง ขนอยกบเงอนไขเปนตวกาหนด เชน

ถาเงอนไขเปนจรง จะทางานทอยภายในบลอกน

ถาเงอนไขเปนจรง จะทางานทอยภายในสวนบน (ใต if) แตถาเปนเทจ จะทางานทอยภายใน

สวนลาง (ใต else)

เงอนไขยงใชควบคมการทางานรวมกบการควบคมแบบอนอก เชน

ถาเงอนไขเปนจรง จะทาซางานทอยภายในบลอกน

ถาเงอนไขเปนจรง จะหยดทาซางานทอยภายในบลอกน

ถาเงอนไขเปนเทจ จะหยดการทางานชวคราว จนกวาเงอนไขจะเปนจรงจงจะทางานในลาดบ

ตอไป

Page 70: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

70 kidsangsan.com สมชาย พฒนาชวนชม

โอเปอรเรชน (Operation)

การเขยนโปรแกรมตองอาศยการคานวณไมมากกนอย โอเปอรเรชนเปนเครองมอทใชในการ

คานวณ หรอการจดการกบขอความตวอกษรทใชในโปรแกรม

โอเปอรเรชนใน Scratch เปนโอเปอรเรชนพนฐาน แตกเพยงพอตอการทาโปรเจก โอเปอรเรชน

ทซบซอนสามารถสรางได ดวยการประกอบโอเปอรเรชนพนฐานเขาดวยกนตามหลก

คณตศาสตร

โอเปอรเรชนพชคณตและฟงกชนตางๆ

โอเปอรเรชนตรรกะ

โอเปอรเรชนจดการตวอกษรและขอความ

พนทสขาวภายในบลอกหมายถงผใชสามารถใสขอมลเขาไปไดจากคยบอรด หรอใสบลอกกได

พนทสขาวทรงมนรบคาเปนตวเลขและรบบลอกทรงมน พนททรงหกเหลยมรบไดเฉพาะขอมลท

เปนจรงหรอเทจจากบลอกทรงหกเหลยมเทานน สวนพนทสขาวทรงสเหลยมรบขอมลทเปน

ตวอกษร ทาใหรบตวเลขกได (ถอวาเปนตวอกษรดวย) รบบลอกทรงมนและบลอกทรงหก

เหลยมกไดดวย

Page 71: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 71

การทางานแบบคขนาน (Parallelism)

ใน Scratch ประกอบไปดวยตวละครตางๆ รวมทงเวท ซงสามารถทางานพรอมๆ กนได ณ

ขณะหนงๆ เรยกการทางานแบบนวาการทางานแบบคขนาน ซงใกลเคยงกบชวตจรงของคนเรา

ทเกดการทางานหลายๆ อยางพรอมกนไปในเวลาเดยวกน เชน ในงานปารตเตนราทมผคน

มากมาย บางคนกพดคยกน บางคนกกาลงดมกนอาหาร และหลายๆ คนกกาลงเตนไป พรอม

กบเสยงเพลงทเปดจากเวท

ใน Scratch การทางานแบบคขนาน เปนการทางานจากหลายๆ สครปตพรอมกน แตละสครปต

นนอาจมาจากตวละครเดยวกนกได หรอจากหลายๆ ตวละคร รวมทงเวทกได สครปตเหลานถก

กระตนใหทางานพรอมกน ณ ขณะหนงๆ แตไมจาเปนตองเรมหรอจบสครปตพรอมกน เชนเมอ

ผใชคลกธงเขยวเรมตนโปรแกรม สครปตทตอบสนองตอการคลกธงเขยวทกสครปตจะเรมตน

ทางานพรอมกน แตขณะทสครปตเหลานนทางานอย บางสครปตกาลงถกกระตนจากผใช เชน

การกดคยหรอการคลกตวละคร ใหเรมทางาน หรอถกกระตนจากสครปตอนดวยการสงสาร

บลอกทควบคมใหสครปตเรมทางาน (พรอมกน) ไดจะอยบนสดของสครปต ซงมหลายแบบ เชน

ตอบสนองเมอผใชคลกธงสเขยวเรมตนโปรแกรม

ตอบสนองเมอผใชกดคย (space) ตางๆ บนคยบอรด

ตอบสนองเมอผใชคลกตวละครใดๆ บนเวท

ตอบสนองเมอไดรบสารจากตวละครหรอเวท ทเปนผสงสาร

Page 72: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

72 kidsangsan.com สมชาย พฒนาชวนชม

การสอสารภายในและภายนอกของโปรแกรม

ขณะโปรแกรมทางาน ผใชสามารตดตอสอสารกบโปรแกรมได โดยการตดตอหรอใหขอมลกบ

โปรแกรม ภายในโปรแกรมเอง ตวละครตางๆ และเวท สามารถตดตอสอสารกน ผานการสงสาร

หรอแชรขอมลระหวางกน

การตดตอสอสารกนทาใหเกดเหตการณขน อยางไรกตาม เหตการณทเกดขนอาจเปนการ

สอสารทางเดยว ถาอกฝายไมรบรถงเหตการณนน ดงนนตองมการตรวจจบรบรถงเหตการณท

สนใจ และเหตการณทถกตรวจจบไดเทานนจงจะมการตอบสนองตอเหตการณนน

การตดตอและใหขอมลจากผใช (Input)

ขณะโปรแกรมทางาน ผใชสามารถตดตอหรอใหขอมลใหมๆ กบโปรแกรมได โดยทาไดหลาย

ทาง เชน การคลกดวยเมาส การกดคยบอรด การเปลยนระดบเสยง ผานการพดใสไมโครโฟน

การปรบคาขอมลของตวแปร ผานการเลอนสไลสเดอร เปนตน

การสงสารระหวางตวละครและเวท (Message)

เวทและตวละครตางๆ สามารถตดตอสอสารกนได ดวยการสงสารระหวางกน โดยเรมจากการ

สรางสารขนมากอน จากนนตวละครหรอเวทสามารสงสารออกไปได ดวยการกระจายสารซงไม

ระบผรบ เวทหรอตวละครใดทสนใจรบสารน กสามารถตรวจจบสารน และตอบสนองตอสารทรบ

ได

Page 73: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 73

การเกดเหตการณ (Events)

ในขณะทโปรแกรมกาลงทางาน มเหตการณเกดขนมากมายในโปรแกรม ทงจากการตดตอและ

โตตอบระหวางโปรแกรมกบผใช ระหวางตวละครกบเวท หรอระหวางตวละครดวยกนเอง

เหตการณทเกดจากผใช เชน ผใชคลกธงเขยวเรมตนโปรแกรม ผใชคลกตวละคร ผใชพมพ

ขอความตอบคาถามจากตวละคร เหตการณทเกดจากตวละครหรอเวท เชน การชนขอบเวท

ของตวละคร การชนหรอการสมผสกนเองระหวางตวละคร การสงสารระหวางตวละคร เปนตน

การตอบสนองตอเหตการณ (Event handling)

เมอเหตการณเกดขน เหตการณทไดรบความสนใจเทานน ทจะมการตอบสนองตอเหตการณ

นนๆ การตอบสนองตอเหตการณนน ตองอาศยการตรวจจบ หรอการรบสารวาเหตการณนนๆ

เกดขนหรอยง

ใน Scratch ใชบลอกควบคมรปทรงหมวก เปนตวกาหนดวา เหตการณไหนไดรบความสนใจ

สวนสครปตใตบลอกควบคมดงกลาว เปนงานทตอบสนองตอเหตการณนนๆ

เหตการณจะไมมความหมายเลย ถาไมมสครปตใดคอยตวจบเหตการณเหลานน เชน ถาไมม

สครปตใดเลยตรวจจบและตอบสนองการคลกธงเขยว จากผใช โปรแกรมท

เขยนมา จะไมสามารถเรมตนทางานไดเลย

Page 74: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

74 kidsangsan.com สมชาย พฒนาชวนชม

การประสานงาน (Synchronization)

การทางานของตวละครและเวท อาจเกดขนพรอมๆ กนในลกษณะคขนาน (Parallelism) ทตาง

คนตางทางานของตนไป แตลกษณะการทางานอกแบบหนง คอการทางานรวมกน ทมลาดบ

ขนตอนการทางานระหวางกน บางครงตองคอยรบงานจากคนอน บางครงตองสงงานใหคนอน

ทาตอ ทกคนตองทางานประสานกน ใหเปนจงหวะเดยวกน เพอใหงานใหญสาเรจลรวงไปได

การประสานงานใหเปนจงหวะเดยวกน คลายกบการสงไมในการวงผลด นกวงคนแรกสงไมให

นกวงคนทสองวงตอ จากนนสงไมใหนกวงคนถดไปวงตอ จนกระทงนกวงคนสดทายวงเขาเสน

ชย

การประสานงานระหวางตวละครและเวทใน Scratch ใชวธการสรางสาร (Message) เพอใช

สอสารระหวางกน เปรยบเสมอนไมผลด เมอตองการสงสารเพอสงตอการทางานระหวางกน ก

จะสงกระจายสารออกไป (Broadcast) ผรบทสนใจในสารน กจะรบสารแลวทางานตอไป

เปรยบเสมอนการสงไมผลด ใหคนทรบไมวงตอไปนนเอง

การสรางและสงกระจายสารออกไป ทาไดดวยบลอกสงกระจาย การสงกระจาย

สารทาใหเกดเหตการณขน เวทหรอตวละครใด ทสนใจรบสารน สามารถทาไดโดยการเรมตน

สครปตดวยบลอก งานทตามมาตอจากบลอกน คอการตอบสนองตอ

เหตการณทไดรบสารน

การสรางสารใหมมาใชเอง การสงกระจายสารทาใหเกดเหตการณขน การตอบสนองตอสารท

สนใจ ทาใหเวทและตวละครตางๆ สามารถสอสารระหวางกนได และสามารถสงตอการทางาน

ใหสอดคลองกนได

Page 75: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 75

การโตตอบระหวางผใชกบโปรแกรม (User interaction)

การโตตอบระหวางผใชกบโปรแกรม เปนกระบวนการตอเนอง ทผใชตดตอสอสารกบโปรแกรม

ดวยการใหขอมลในรปแบบตางๆ ซงทาใหเกดเหตการณในโปรแกรม ตามลกษณะการใหขอมล

นน เมอโปรแกรมรบรและตรวจจบเหตการณทเกดขน กสามารถตอบสนองตอเหตการณนนๆ

ไดตามทไดเขยนโปรแกรมเอาไว

การโตตอบระหวางผใชกบโปรแกรม เปนเหตการณแบบหนงทอาจเกดเมอใดกได เกดชวครง

ชวคราวกได เกดอยางตอเนองกได หรอไมเกดเลยกได ขนกบการออกแบบและชนดของ

โปรแกรม เชน โปรแกรมแอนเมชน ทผใชอาจดอยางเดยว ไมโตตอบกบโปรแกรมเลย

โปรแกรมตอบโจทยคณตศาสตร ทผใชตองตอบคาถามกบโปรแกรม ดวยการคลกเมาส หรอกด

คยเลอกคาตอบ หรอโปรแกรมเกม ทผใชตองโตตอบกบโปรแกรมตลอดเวลา เปนตน

Page 76: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

76 kidsangsan.com สมชาย พฒนาชวนชม

การออกแบบชองทางการตดตอระหวางโปรแกรมกบผใช (User interface design)

โปรแกรมรบรการตดตอ เมอไดรบขอมลจากผใช แตจะตอบสนองเฉพาะสงทโปรแกรมสนใจ ซง

ตองถกเขยนโปรแกรมไวลวงหนามาแลว เชน เขยนโปรแกรมใหรบรและตอบสนองตอการกด

คย x ถาผใชกดคย x โปรแกรมกจะตอบสนองตามทไดเขยนโปรแกรมไว แตถาผใชกดคย y ซง

โปรแกรมไมรบรการกดคย y จงไมทาอะไรตอบสนอง

การรบรและตอบสนองตอการกดคย x เปนการสรางชองทางใหผใชตดตอสอสารกบโปรแกรม

ในขณะทการกดคย y ไมไดเปนชองทางตดตอระหวางผใชกบโปรแกรม

นอกจากผใช จะสามารถตดตอโปรแกรมผานอปกรณตางๆ ของคอมพวเตอร (เมาส คยบอรด

ไมโครโฟน) ไดแลว การสรางตวละครขนมา เพอเปนอกชองทางหนงใหผใชตดตอกบโปรแกรม

โดยเฉพาะ กสามารถทาได โดยตวละครเหลานจะอยกบท คลายปม พรอมจะทางาน เมอผใช

คลกทตวละครเหลาน

Page 77: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 77

ตวแปร (Variables)

ตวแปรเปนทพกของขอมล อางองดวยชอของตวแปร สามารถเปลยนแปลงแกไขขอมลได หรอ

เรยกดขอมลในภายหลงได ตวแปรขอมลภายใน ทพรอมใชงานไดเลย มหลายตวแปร เชน ตว

แปรเกบขอมลคาตอบจากผใช ตวแปรเกบคาตาแหนงของตวละคร

เปนตน

ตวแปรยงถกสรางขนมาใหมได เมอมขอมลทตองใชตอเนองในโปรแกรม เชน เมอตองการเกบ

คะแนนในเกมระหวางการเลน กสามารถสรางตวแปร มาเกบคะแนนได ตวแปรทสรางขน

ใหมยงกาหนดไดวา ใหใชเฉพาะกบตวละครทสรางตวแปรน หรอใหทกตวละครใชตวแปรน

รวมกนได

ตวแปรยงสามารถลดความซบซอนของการคานวณยาวๆได การคานวณทใชบอยๆ ในหลายๆ

แหงในโปรแกรม สามารถคานวณเพยงครงเดยว แลวเกบผลลพธไวในตวแปร จากนนนาไปใช

อกไดเลยไมตองคานวณใหม

Page 78: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

78 kidsangsan.com สมชาย พฒนาชวนชม

ลสต (List)

ลสตเปนตวแปรทใชเกบขอมลหลายๆ อยางเขาดวยกนอยางเปนระบบ ขอมลลกษณะเดยวกน

ควรเกบไวทเดยวกนใหเปนระบบ ทาใหงายตอการใชงาน

ลกษณะของขอมลทเกบรวมกนอยางเปนระบบ มใหเหนทวไปใน Scratch เชน การเกบชดตว

ละคร ภาพฉากหลงของเวท รายการทใหเลอกในบลอกคาสงตางๆ เชน ประเภทของเอฟเฟค

ตวโนตดนตร ชนดเครองดนตร ทศการเคลอนท เปนตน

ลสตเหมอนตวแปร สามารถสรางขนได เชน ขอมลชอของอาวธตางๆ ในเกม แทนทจะเกบ

แยกกนในแตละตวแปร ซงจะเพมขนเรอยๆ เมอมอาวธใหมเพมขน ทาใหยากตอการจดจาและ

การใชงานตวแปรเหลานน แตถาเกบในลสต จะมเพยงตวแปรลสตอาวธตวแปรเดยว ขอมลชอ

ของอาวธจะถกเกบไวภายในรายการของลสตแทน

Page 79: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 79

โปรเจกใน Scratch

การศกษาการเขยนโปรแกรมภาษา Scratch ในหนงสอเลมน เรมจากการหดใชงานตวโปรแกรม

กอนในเบองตน จากนนเรมเรยนรสวนประกอบตางๆ เพอสรางโปรเจก พรอมกบเรยนรแนวคด

หลกการและเทคนคตางๆ ในการเขยนโปรแกรม

ในสวนนเปนการศกษาการเขยนโปรแกรมผานโปรเจกตางๆ ทเสรจเรยบรอยแลว เปนวธการท

เรมจากภาพรวมของโปรเจกกอน ผเรยนสามารถเหนเปาหมายและผลลพธของโปรเจกเปน

อยางไร แลวแตละสวนประกอบของโปรเจกถกสรางอยางไร เรยนรการเขยนสครปตในแตละตว

ละครและเวท เพอทาใหโปรเจกสมบรณไดอยางไร

ทกโปรเจกทจะเรยนรตอไปน มาพรอมกบโปรแกรม Scratch ทาใหแนใจไดวา ถาผเรยนตดตง

โปรแกรม Scratch แลว จะสามารถเรยนรทกโปรเจกจากหนงสอเลมนได โปรเจกใน Scratch

แบงเปนหมวดหมทมเปาหมายทชดเจน แตละหมวดมหลายโปรเจก เมอศกษาโปรเจกหนงใน

แตละหมวดแลว โปรเจกทเหลอในหมวดนน กสามารถเรยนรเพมเตมไดเอง เมอศกษา

หลากหลายโปรเจกแลว จะเหนศกยภาพโดยรวมของ Scratch ผเรยนสามารถเรยนรเพมเตมใน

เวบไซต Scratch ซงมโปรเจกมากมายจากผใชทวโลกไดอก และควรนาความรทศกษามา ไป

ตอยอด ประยกตใช ในการสรางโปรเจกใหมอยางสรางสรรคดวยตวเอง

Page 80: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

80 kidsangsan.com สมชาย พฒนาชวนชม

กระบวนการทางานเพอสรางโปรเจกใน Scratch

การสรางโปรเจกใน Scratch กคลายกบการสรางละครเวทเรองหนง ซงประกอบไปดวยเวท

สาหรบการแสดง และตวละครตางๆ เปนสาคญ โดยทตวละครแตละตวกจะมบทบาทของมนเอง

เมอละครเปดฉากแตละตวละครกออกสเวท ดาเนนเรองราวจากตนจนจบ

ผสรางโปรเจกกเปรยบเสมอนผสรางละคร ควบคมการสรางทงหมด ตงแตเขยนเคาโครงของ

ละคร การดาเนนเรอง การจดเวทสถานท เลอกนกแสดง เขยนบท และกากบการแสดงบนเวท

นอกจากนนยงเปนผจดเสอผา ฉากเวท ทาเสยงประกอบ และรายละเอยดอนๆ อกมากมาย ด

เหมอนจะยงยากมากมายเกนกวาเดกๆ จะทาได แตเชอหรอไมทมพฒนา Scratch ทาเรอง

ทงหมดใหเปนเรองงาย เปนขนเปนตอน ทาทายจนตนาการของพวกเขา

การสรางโปรเจก เปนกระบวนการทาซา ทเรมจากสวนเลกๆ ในแตละตวละครและเวท ขยาย

ใหญขน จนเปนโปรเจกทสมบรณ ขณะเขยนโปรแกรม ตองคอยตรวจสอบความถกตองของ

โปรแกรมอยางสมาเสมอ เพอหาขอผดพลาดแลวทาการแกไข เมอมความชานาญมากขน

ผเรยนจะเรมสงเกตเหนวา บางสวนของโปรแกรมมความเหมอนหรอคลายกน ทงจากตวละคร

เดยวกนหรอตางตวละครกน แทนทจะเขยนใหมตงแตตน ผเรยนสามารถนาสวนของโปรแกรม

นน มาใชใหมไดอก หรอนามาปรบเปลยนใหเขากบความตองการ ทาใหลดเวลาในการเขยน

โปรแกรมได

Page 81: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 81

โปรเจก Aquarium

การเปดโปรเจก

เรมตนโปรเจกแรก ดวยวธการเปดโปรเจกตวอยางในโปรแกรม Scratch โดยคลกทเมน File

คลกเลอก Open ... หนาตาง Open Project จะปรากฎ พรอมกบโปรเจกมากมายทมาตอน

ตดตงโปรแกรม จะมปมโฟลเดอรอยดานซายสด ตรงกลางเปนโฟลเดอรยอยหรอไฟลโปรเจก

ตางๆ ดานขวามอจะเปนรายละเอยดของโปรเจกทเลอก

เพอเปดโปรเจก Aquarium ใหคลกปมโฟลเดอร Examples (1) จากนนจะเหนโฟลเดอรยอยใน

หมวดตางๆ ใหเลอกโฟลเดอร Animation ซงจะแสดงโปรเจกตางๆ ในหมวดน สงเกตชอโฟล

เดอรลาสด (Animation) ปรากฎอยท (2) เมอคลกเลอก Aquarium (3) จะเหนรายละเอยดของ

โปรเจกทางขวามอ (4) เปนหนาตาของโปรเจกน (5) เปนขอมลผสรางโปรเจก วธใชงาน

แนวคดในการสรางโปรเจกน และแนวคดตอยอด คลกปม OK เพอเปดโปรเจก

Page 82: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

82 kidsangsan.com สมชาย พฒนาชวนชม

ภาพรวมของโปรเจก

โปรเจก Aquarium เปนการสรางภาพเคลอนไหวหรอแอนเมชนในอควาเรยม การทางานหลกๆ

ของปลา ปลาหมก และแมงกระพรน คอ การวายนาไปมาแหวกวายผานกอสาหรายในตกระจก

แตเพอใหดสมจรง เมอชนกระจก (กรอบของเวท) พวกมนจะวายกลบ และใหดเปนธรรมชาต

มากยงขน พวกมนแตตวจะตองมการเปลยนทศการเคลอนทบางบางเวลา โดยททกๆ หนง

วนาทพวกมนมโอกาสหนกลบทศ 180 องศา โอกาสการกลบทศของพวกมนแตละตวมคาไม

เทากน เชน พวกปลาตางๆ จะมโอกาสกลบทศอย 1 ใน 6 และถาสงเกตทฉากหลงจะเหน

ฟองอากาศลอยขน เนองจากการเปลยนแปลงของฉากหลงนนเอง

Page 83: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 83

ตวละครและฉากเวท

โปรเจก Aquarium มปลาชนดตางๆ อย 5 ตว ปลาหมก แมงกระพรน อยางละ 1 ตว และ

สาหราย 3 กอ ฉากหลงเปนพนทรายกบฟองอากาศในนา

ตวละครใน Aquarium มอยหลายตว ถาสนใจในตวละครตวใดตวหนง ตองเลอกมนกอน เชน

ตองการเลอกแมงกระพรน ทาไดโดยการคลกทแมงกระพรนทอยในรายการตวละคร หรออกวธ

หนงคอการดบเบลคลกทแมงกระพรนในเวท ตวละครทถกเลอก (แมงกระพรน) จะมกรอบสฟา

ลอมรอบอย

ตวละครทถกเลอก (แมงกระพรน) จะสามารถเขยนโปรแกรมสครปตไดในแทป Scripts เพมหรอ

ลดชดละครไดในแทป Costumes หรอใสเสยงไดในแทป Sounds

Page 84: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

84 kidsangsan.com สมชาย พฒนาชวนชม

การเลอกเวททาไดคลายกบตวละคร คอ คลกเวทในรายการตวละครกบเวท หรอดบเบลคลก

พนทวางบนเวท เมอเลอกเวทแลว จะปรากฏสฟาลอมรอบเวทเชนกน

เวทสามารถเขยนโปรแกรมสครปตไดในแทป Scripts เพมหรอลดฉากหลงเวทไดในแทป

Backgrounds หรอใสเสยงไดในแทป Sounds

Page 85: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 85

สครปตตวละครและเวท

สครปตของปลา

สครปตของปลาชนดตางๆ (Creature2 – Creature6) จะเหมอนกนหมด ดงนนดสครปตของ

ปลา Creature5 เปนตวแทนของปลาทเหลอ

สครปตแรกทาใหปลาเคลอนทไปเรอยๆ ในตปลา และเมอชนผนง (ขอบของเวท) กจะเปลยนทศ

ทางการเคลอนท ดวยการสะทอนกลบออกมา สครปตเรมเมอผใชคลกธงสเขยวเรมตนทางาน

สครปต ตามดวยบลอกควบคมตลอดเวลา (forever) เพอใหปลาวายนาไปเรอยๆ ปลาจะ

เคลอนท (move 1 steps) ไปชาๆ (ทละ 1) และตรวจสอบตวเองวา ชนกรอบของเวทหรอยง ถา

ชนมนจะสะทอนกลบ (if on edge, bounce)

Page 86: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

86 kidsangsan.com สมชาย พฒนาชวนชม

สวนสครปตทสองทาใหปลาดเปนธรรมชาตมากขน ดวยการเปลยนทศ วายกลบไปกลบมา

เหมอนอยในตปลาจรงๆ สครปตนเรมทางานพรอมกบสครปตแรกเมอผใชคลกธงเขยว การ

เปลยนทศเกดขนไดตลอดเวลา ดงนนจงใชบลอกตลอดเวลาควบคมการทางาน การเปลยนทศ

ขนอยกบเงอนไข (บลอกถา if) จากการสมตวเลข (pick random) ตงแต 1 ถง 6 ถาเลขสมได

เทากบ 1 เงอนไขจะเปนจรง แสดงวาปลามโอกาสในการกลบทศอย 1 ใน 6 เมอเงอนไขเปนจรง

ปลาจะหนกลบ 180 องศา (turn 180 degrees) การตรวจสอบเงอนไขเพอการเปลยนทศ จะ

เกดขนทกๆ 1 วนาท โดยใชบลอกคอย (wait 1 sec) ในการจบเวลา

สครปตของปลาหมก

สครปตของปลาหมก (Creature7) คลายกบของปลามาก สครปตแรกนนเหมอนกบสครปตแรก

ของปลาเลย สวนสครปตทสองกแทบจะเหมอนสครปตทสองของปลาอกเหมอนกน เพยงแต

โอกาสในการกลบทศอยท 1 ใน 3 (pick random 1 to 3 = 1)

Page 87: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 87

สครปตของแมงกระพรน

สครปตของแมงกระพรนมอย 3 สครปต แตกคลายกบสครปตของปลาเชนกน สครปตแรกเปน

การใชเอฟเฟคเพอทาใหตวเองโปรงแสง โดยการใชบลอกเอฟเฟคลองหน (ghost) ดวยคาท 35

(set ghost effect to 35)

สครปตทสองนนเหมอนกบสครปตแรกของปลาเลย สวนสครปตทสามกคลายกบสครปตทสอง

ของปลาอกเหมอนกน เพยงแตโอกาสในการกลบทศอยท 1 ใน 10 (pick random 1 to 10 = 1)

Page 88: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

88 kidsangsan.com สมชาย พฒนาชวนชม

สครปตของสาหราย

หนาทของสาหราย คอ ทาใหตปลาดมมตลกเขาไป ดวยการกาหนดตาแหนงในแนวลกของต

ปลา (เลเยอร Layer) ใหกบสาหรายแตละกอ เพอทาใหดเหมอนวาสาหรายอยลกคนละตาแหนง

ในตปลา สครปตของสาหรายแตละกอเรมตนเมอผใชคลกธงเขยว สาหราย plant1 จะเคลอนไป

ทเลเยอรหนาสดกอน (go to front) จากนนยายถอยหลงไป 2 เลเยอร (go back 2 layers)

สาหราย plant2 ทาคลายกน แตถอยหลงไป 4 เลเยอร สวนสาหราย plant3 กทาเชนกน แต

ถอยหลงดวยการสมคาระหวาง 1 ถง 7

เลเยอรใน Scratch เปนการกาหนดตาแหนงความลกแบบงายๆ ไมซบซอนอะไร เลเยอรทม

ตวเลขมาก กจะอยลกเขาไปดานในของจอคอมพวเตอร การกาหนดเลเยอรทาใหตวละครเสมอน

อยในโลกสามมต ตวละครจะมการเหลอมลากน ตวละครทอยเลเยอรดานหนา (ตวเลขนอย) ก

จะบงตวละครทอยเลเยอรลกลงไป (ตวเลขมาก)

Page 89: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 89

สครปตของเวท

สครปตเวทสวนใหญมกจะเกยวกบฉากหลงของเวท (Backgrounds) สครปตของเวทในโปรเจก

Aquarium ถกเขยนขนเพอใหเหนการเคลอนไหวของฟองอากาศตลอดเวลา โดยการเปลยนฉาก

หลงของเวท

จากสครปตจะเหนวา เมอผใชคลกธงเขยวแลว ฉากหลงจะเปลยนเปนภาพถดไปทละภาพ (next

background) สลบวนกนไป (ใชบลอกตลอดเวลา forever) ตลอดทกๆ 1 วนาท (จบเวลาดวย

บลอก wait) จนกวาโปรแกรมจะหยด การเปลยนแปลงของฉากเปนการแสดงแอนเมชนงายๆ

เพอทาใหเหนฟองอากาศลอยขนตลอดเวลา

บลอก next background ใชสาหรบเปลยนภาพฉากหลงตามลาดบของภาพ เชน ในกรณน ม

ฉากหลง 3 ภาพ และปจจบนแสดงภาพท 1 ทกครงทใชบลอก next background ภาพทจะ

แสดงถดไปคอภาพท 2 ภาพถดไปคอภาพท 3 จากนนจะวนกลบไปภาพท 1 อกครง ลาดบภาพ

จะเปนเชนนไปเรอยๆ เมอยงใชคาสงนอย

Page 90: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

90 kidsangsan.com สมชาย พฒนาชวนชม

แอนเมชนจากการเปลยนภาพฉากหลง

ฉากเวทสามารถทาแอนเมชนแบบงายๆ ดวยการเปลยนภาพฉากหลง เชนในกรณน มภาพฉาก

หลงอย 3 ภาพ ทแตกกนในสวนของฟองอากาศ เมอเปลยนภาพฉากหลงทละภาพ ตอเนองกน

ไป จะเหนฟองอากาศลอยขนตลอดเวลา

เนองจากมภาพทใชแสดงแอนเมชนอยางจากด เพอแลกกบการใชขอมลทนองลง ทาใหการ

เปลยนแปลงภาพเกดขนรวดเรวเกนไป จนดไมทน ดงนนตองหนวงเวลาการเปลยนแปลงภาพ

ดวยบลอก wait ซงเปนคาสงหยดทางานชวคราว ตามระยะเวลาทกาหนด

Page 91: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 91

การตอยอดโปรเจก Aquarium

การศกษาโปรเจกทมอยแลว ทาใหเราไดเรยนรการเขยนโปรแกรม จากมมมองของคนอน ไดฝก

อานโปรแกรม และแนวคดเบองหลงของโปรเจกนนๆ วธนยงชวยใหมอใหมหดเขยนโปรแกรม

เรมตนหดเขยนโปรแกรมดวยการตอยอดจากโปรเจกเดม โดยไมตองเรมจากศนย คาแนะนา

ตอไปนเปนตวอยาง เพอดวาจะตอยอดโปรเจกนไดอยางไรบาง

• สงเกตวา เหลาปลา ปลาหมก และแมงกระพรน ตางเคลอนทไมหยดเลย ทาอยางไรให

มนหยดบาง เคลอนทบาง

• พวกมนเคลอนทดวยความเรวเทากนหมด ดแลวงวงนอน ทาอยางไรใหมนเคลอนทดวย

ความเรวตางกน หรอแตละตวสามารถใชความเรวทตางกนได

• เพมความหลากหลายในการเคลอนทของปลา แทนทจะใชการสมเพอเปลยนทศ ลองให

พวกมนเคลอนทไปพรอมๆ กบการเปลยนทศ โดยการใชบลอกเปลยนทศทางคกบ

บลอกเคลอนท ทดลองเปลยนคาตางๆ ดวาคาไหนททาใหปลาเคลอนทเปนธรรมชาต

มากขน

จะเหนวาการปรบเปลยนโปรแกรมใน Scratch นนทาไดงาย และทสาคญเหนผลไดแทบทนท

ทาใหการเรยนเขยนโปรแกรมใน Scratch ไมยากเหมอนภาษาอน

Page 92: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

92 kidsangsan.com สมชาย พฒนาชวนชม

โปรเจก MadLibs

โปรเจก MadLibs เปนการเลาเรอง (Story telling) ทมการโตตอบกบผใช กอนจะเขาสการเลา

เรอง เรมตนเปดโปรเจก MadLibs ดวยการคลกเมน File เลอก Open จากนนคลกปม

Examples เลอกโฟลเดอร Stories เลอกโปรเจก MadLib

ภาพรวมโปรเจก

MadLibs เปนการเลาเรอง ทมผหญงเปนผดาเนนเรอง เรมตนดวยการถามตอบกบผใช จากนน

ขอมลคาตอบจากผใชจะถกสงตอใหกบวาฬ 2 ตว นาออกมาเลาเรองตลกผกกบคาตอบทไดมา

วาฬทงสองตวมการสงตอบทบาทและบทพดระหวางกน พรอมกบแสดงแอนแมชน เสยง

ประกอบ และเอฟเฟคบนฉากหลง เพอเพมสสรรใหกบการเลาเรอง

Page 93: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 93

ตวละครและฉากเวท

ตวละครมเพยงผหญงเปนผดาเนนเรอง วาฬตวใหญและวาฬตวเลกเปนผเลาเรอง และฉากเวท

เปนววทวทศน

สครปตตวละครและเวท

สครปตของผดาเนนเรอง

สครปตของผหญงซงเปนผดาเนนเรอง เรมตนดวยการพดเกรนกอนจะถามตอบกบผใช คาตอบ

จากผใชจะถกเกบไว แลวสงตอใหวาฬ 2 ตวเปนผเลาเรองตอไป

สครปตเรมเมอผใชคลกธงสเขยว เปนการเรมตนการเลาเรอง โดยผดาเนนเรองไดพดเกรนสาม

ประโยคๆ ละ 2 วนาท ดวยบลอกพด (say)

Page 94: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

94 kidsangsan.com สมชาย พฒนาชวนชม

จากนนเปนการถามตอบกบผใช โดยถามผใชดวยบลอกถาม (ask) แลวรอคาตอบจากผใช เมอ

ผใชพมพคาตอบและกดคย Enter แลว คาตอบจะถกเกบไวทตวแปรภายในชอ answer

เนองจากทกครงทมการถามตอบ คาตอบใน answer จะถกแทนทดวยคาตอบใหมลาสดเสมอ

เพราะฉนนถาตองการนาแตละคาตอบมาใชภายหลง ตองสรางตวแปรใหม มาเกบคาคาตอบนน

แทน

โปรเจกนสรางตวแปรมา 4 ตว คอ action name thing1 และ thing2 เพอเกบแตละคาตอบของ

ผใช เมอไดคาตอบทงหมดแลว กจะเรมการเลาเรอง ดวยการสงสาร start story ใหวาฬ 2 ตว

ออกมาเลาเรองผกกบคาตอบทไดรบมาในตวแปรทงส

การถามตอบกบผใช

การโตตอบระหวางผใชกบโปรแกรม มหลายวธ เชน การคลกเมาส การกดคยบอรด การใชเสยง

เปนตน ในโปรเจกนผดาเนนเรองมการถามตอบกบผใช คาถามจะปรากฎบนเวท ผใชตอบผาน

คยบอรด โปรแกรมจะรอรบคาตอบ และรอจนกวาผใชจะกดคย Enter หรอคลกเครองหมายถก

คาตอบทไดจะถกเกบไวในตวแปร

คาตอบ จะถกแชรระหวางตวละครทกตว และจะเปลยนแปลงทกครงทใชบลอกคาถาม

ถาตองการเกบคาตอบปจจบนไว ตองเกบไวในตวแปรอนทสรางขนมาใหม เชน

ตองการเกบคาในตวแปร answer ในตวแปร name โดยใชบลอก ตว

แปร name เปนตวแปรหนงในรายการตวแปรทสรางโดยผใช

Page 95: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 95

ความแตกตางในการถามตอบระหวางตวละครกบเวท

ถาคาถามมาจากตวละคร คาถามจะถกพดจากตวละคร และจะปรากฎกรอบใหผใชพมพเพอ

ตอบคาถาม ดานลางของเวท

แตถาคาถามมาจากเวท คาถามจะปรากฎในกรอบการถามตอบ ดานลางของเวท

Page 96: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

96 kidsangsan.com สมชาย พฒนาชวนชม

การสรางตวแปร

วธสรางตวแปรนนใหเลอกบลอกหมวดตวแปร จากนนคลกปมสรางตวแปร (Make a variable)

คาถามทผดาเนนเรองถาม ตองการ 4 คาตอบ ดงนนตองสรางตวแปรมา 4 ตว

ตวแปรตองมชอ เพอเรยกใชภายหลง ชอตวแปรทง 4 นน คอ action name thing1 และ thing2

เมอสรางตวแปรแลว จะเกดบลอกใหมสาหรบตวแปรทง 4 ในบลอกหมวดตวแปร โดยดานหนา

ของบลอกเหลาน จะมกลองสเหลยมทสามารถคลกเลอกได ถาคลกเลอกจะมเครองหมายถก

ปรากฎ และจะทาใหตวแปรนแสดงคาปจจบนของมนบนเวท

การกาหนดคาใหตวแปร ใหใชบลอกตงคา (set) โดยเลอกชอตวแปรทตองการกอน (จาก

รายการตวแปรทงหมดทถกสรางขน) จากนนกาหนดคาใหมน ซงคานนอาจเปนตวเลขหรอ

ตวอกษร ทพมพเขาไปตรงๆ ในชองวาง หรอใชคาทอยในบลอกตวแปรกได เชน บลอกตวแปร

answer

Page 97: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 97

การแชรขอมล

ขณะทสรางตวแปร ยงสามารถกาหนดตวแปรใหเปนตวแปรสวนตวได โดยคลกเลอก For this

sprite only เพอใชในตวละครตวทสรางตวแปรนเทานน หรอกาหนดตวแปรใหเปนตวแปร

สวนรวมได โดยคลกเลอก For all sprites เพอใหทกตวละคร รวมทงเวท สามารถใชตวแปรนได

ถาใหทกตวละครและเวทใชตวแปรได ตวแปรทสรางขนใหม จะปรากฎอยในบลอกหมวดตวแปร

ของทกตวละคร รวมทงเวทดวย วธนเปนการแชรขอมลระหวางตวละครตางๆ และเวท เหมอน

ในโปรเจกน ตวแปรทใชเกบคาตอบนน เปนตวแปรสวนรวมทผดาเนนเรองสรางขน แลววาฬ

สองตวสามารถเอาไปใชไดขณะเลาเรอง

Page 98: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

98 kidsangsan.com สมชาย พฒนาชวนชม

สครปตของวาฬตวใหญและวาฬตวเลก

วาฬตวใหญและวาฬตวเลก จะเลาเรองสลบกนไปมา จากคาตอบทไดรบจากผดาเนนเรอง เพอ

เพมสสนในการเลาเรอง วาฬทงสองจะแสดงแอนเมชนไปดวย

เพอใหเหนภาพการสงตอการทางานระหวางวาฬทงสองตว จงมาดสครปตของวาฬทงสองตวไป

พรอมๆ กน

เมอผใชคลกธงเขยว วาฬทงสองตวจะซอนตวดวยบลอกซอน (hide) จากนนเมอวาฬทงสองตว

ไดรบสาร start story จากบลอกรบสาร (when I receive start story) วาฬตวใหญจะเปลยนชด

เปน whale basic วาฬทงสองตวจะถกกาหนดวางไวนอกเวทดวยบลอกไปยงตาแหนง (x, y)

สงเกตตาแหนงของวาฬทงสองตว วาเกนขอบเวทแลว (กรอบเวทมขนาดท -240 <= x <= 240,

-180 <= y <= 180) จากนนวาฬทงสองตวกเปดตวออกมา (show) พรอมกบเคลอนทไปยง

ตาแหนงทกาหนดไวภายใน 1 วนาทพรอมกน (glide 1 secs to x: y: ) กอนทวาฬตวใหญจะสง

สาร story 1 ออกมา เพอเรมตนเลาเรอง

การสนทนาระหวางวาฬทงสองตวจะสลบกนพด โดยเมอวาฬตวหนงพดจบ กจะสงสารบอกวาฬ

อกตวหนงใหพดตอ โดยเรมจากวาฬตวใหญกอน เพราะเปนผรบสาร story 1 จากการสงสารถง

ตวเอง

Page 99: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 99

เมอวาฬตวใหญไดรบสาร story 1 จะเรมสครปตดวยการเปลยนชด (switch to costume) เปน

whale happy1 จากนนพดหนงประโยคกอนจะแสดงแอนเมชนดใจ แลวพดตอ โดยนาขอมลใน

thing1 มารวมในคาพดดวย โดยใชบลอกเชอมคา (join) แลวสงสาร story 2 เพอใหวาฬตวเลก

ไดพดตอ

เมอวาฬตวเลกไดรบสาร story 2 กจะพดตอบวาฬตวใหญ โดยนาขอมลใน action มารวมใน

คาพดดวย โดยใชบลอกเชอมคา (join) แลวสงสาร story 3 เพอใหวาฬตวใหญไดพดตอ

เนองจากขอมลใน action อยระหวางประโยค จงตองเชอมคาสองครง โดยใชบลอกเชอม (join)

ซอนกน

Page 100: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

100 kidsangsan.com สมชาย พฒนาชวนชม

แอนเมชนจากการเปลยนชดตวละคร

ระหวางการสนทนาของวาฬทงสองตว วาฬตวใหญแสดงแอนเมชนดใจ โดยใชเทคนคการ

เปลยนชด (switch to costume) สลบไปมาระหวางชด whale happy2 กบชด whale happy1

จานวน 3 ครงภายในบลอกควบคมทาซา (repeat)

สงเกตวาในแอนเมชนจะมบลอกคอย (wait) หลายแหง ทงนเพราะแอนเมชนจะเกดขนเรวไป

มองไมทน จงตองหนวงเวลาดวยบลอกคอยในแตละครงทเปลยนชด

Page 101: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 101

วาฬตวใหญยงสามารถแสดงแอนเมชนไดอกหลายอารมณ (เฉย โกธร) ทาใหมหลายชดมาก

เพอแสดงในแตละอารมณ ดงนนการตงชอชดใหสอดคลองกบอารมณ จะทาใหงายตอการ

นามาใชทาแอนเมชน

เมอวาฬตวใหญไดรบสาร story 3 จะพดตอบวาฬตวเลก แลวเปลยนชดเปน whale basic

จากนนแสดงแอนเมชนโกธร โดยการเปลยนชดระหวาง whale mad1 กบ whale mad2 กบ

whale mad3 สลบกบการคอย 0.2 วนาท ทงหมด 3 ครงภายในบลอกควบคมทาซา (repeat)

จากนนเปลยนชดเปน whale basic อกครง แลวพดตอโดยนาขอมลใน thing2 มารวมในคาพด

ดวย กอนสงสาร story 4 เพอใหวาฬตวเลกไดพดตอ

Page 102: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

102 kidsangsan.com สมชาย พฒนาชวนชม

เมอวาฬตวเลกไดรบสาร story 4 กจะพดตอบวาฬตวใหญหนงประโยค แลวแสดงแอนเมชนดวย

วธหมนตวมนเอง โดยใชบลอกเลยว (turn) ทละ 36 องศา สลบกบการคอย 0.01 วนาท ทาซา

10 รอบภายในบลอกควบคมทาซา (repeat) กจะหมนครบ 360 องศา 1 รอบพอด จากนนพด

ตอโดยนาขอมลใน name มารวมในคาพดดวย โดยใชบลอกเชอมคา (join) ซอนกน กอนจะพด

ปดประโยคสดทายของการเลาเรอง

Page 103: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 103

การสงและรบสาร

จะทาอยางไรใหตวละครหรอเวท สอสารโตตอบกน รจงหวะเวลาทตวเองจะตองพดตองแสดง ใน

Scratch การสงตอการทางานระหวางตวละคร ใชวธการสงสารออกไป โดยอาศยชอของสารท

แตกตางกน เปนตวสงไมใหระหวางกน เมอตวละครหรอเวทไดรบสารทสนใจ กจะรวา ไดเวลาท

จะตองเรมทางานตอแลว

การสงสารจะใชบลอกสงกระจาย (broadcast) พรอมกบเลอกสารทมอยในรายการ ถาตองการ

สรางสารใหม ทาไดงายๆ โดยคลกสามเหลยมชลงในบลอกสงกระจาย คลก new... แลวใสชอ

สารลงไป เชน ตองการสรางสารใหมชอ story 5

ตวละครทกตวรวมทงเวทจะไดรบสารทสงออกมาทกสาร ไมวาใครจะเปนคนสง แตเลอก

ตอบสนองกบสารทตวเองสนใจเทานน ดวยการใชบลอก เรมตนสครปตใหม

โดยสามารถเลอกสารทสนใจไดจากรายการ และเมอตวละครหรอเวทไดรบสารทสนใจ กจะ

ตอบสนองดวยการเรมทางานในสครปตนน

Page 104: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

104 kidsangsan.com สมชาย พฒนาชวนชม

สครปตของเวท

ฉากเวทในโปรเจกนนาสนใจ เพราะมการใสลกเลนทงภาพและเสยง โดยใสเอฟเฟคใหภาพฉาก

หลงของเวท ดวยบลอกตงคาเอฟเฟค (set effect to) ซงมเอฟเฟคหลายแบบ แตในกรณนใชคา

ความสวาง (brightness)

เมอผใชคลกธงเขยว เอฟเฟคทกอยางจะถกกาจดไปกอน โดยบลอกลางเอฟเฟค (clear graphic

effects) เพอตงคาเอฟเฟคทกอยางไปทคาเรมตน (คาเอฟเฟคมคาระหวาง -100 ถง 100 โดยท

คา 0 คอคาดงเดมกอนใสเอฟเฟค) จากนนตงคาความสวางท -60 (set brightness effect to -

60) ซงจะทาใหภาพฉากหลงมดลง

เมอไดรบสาร start story ใชบลอกเปลยนคาเอฟเฟคความสวาง (change effect by) ในบลอก

ควบคมทาซา (repeat) เพอเปลยนคาความสวางทละ 6 ทาซา 10 ครง ใหไดคาความสวางรวม

60 วธนจะทาใหภาพฉากหลงคอยๆ สวางขนจนกลบไปยงภาพฉากหลงดงเดม

ในขณะเดยวกน เมอไดรบสาร start story กเปดเสยงประกอบ madlibs ขนมา โดยใชบลอกเลน

เสยงจนจบ (play sound madlibs until done)

Page 105: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 105

การตอยอดโปรเจก MadLibs

• ฝกการใชตวแปรลสต เกบขอมลการถามตอบระหวางผดาเนนเรองกบผใช แทนการเกบ

ขอมลแยกจากกนในหลายๆ ตวแปร

• นอกจากการใชตวหนงสอในการเลาเรองแลว Scratch สามารถอดเสยงผานไมโครโฟน

แลวนามาเปดได ดงนนการใชเสยงพดในการเลาเรองเพมเตม จะทาใหเรองนาสนใจ

มากขน

• เพอใชสอท Scratch มใหอกอยาง คอการถายภาพผใชจากกลอง การเลาเรองนาจะ

สนกมากยงขน ถาบอกใหผใชถายรปตวเองจากกลองในคอมพวเตอร จากนนเลาเรอง

ผกกบรป

สครปตดานลางน เปนตวอยางสครปตถามผใชใหถายรปของตวเอง โดยเรมจากซอน

ตวเองกอน (hide) เมอถกถามใหถายรป ใหคลกทแทป Costumes คลกปม Camera

คลกปมกลองถายรปเพอถายรป คลกปม Done จบการถายรป จากนนคลกปม

เครองหมายถกบนเวท เพอรนสครปตตอ รปทพงถายไปจะเปนชดตวละครปจจบนโดย

อตโนมต โดยปกตรปทถายจะมขนาด 320 x 240 อาจใหญเกนไป ใหใชบลอกกาหนด

ขนาดใหเลกลงได (set size to 30 %) จากนนจงแสดงรปออกมา (show)

Page 106: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

106 kidsangsan.com สมชาย พฒนาชวนชม

โปรเจก SimpleCircuit

โปรเจก SimpleCircuit เปนการจาลอง (simulation) แผงวงจรไฟฟาแบบงายๆ เรมดวยการเปด

โปรเจก SimpleCircuit โดยเลอก Open ในเมน File จากนนคลกปม Examples เลอกโฟลเดอร

Simulations เลอกโปรเจก SimpleCircuit

ภาพรวมของโปรเจก

SimpleCircuit เปนการจาลองแผงวงจรอนกรมอยางงาย โดยตอหลอดไฟ แบตเตอร และสวตช

เขาดวยกน ถาแผงวงจรตอโดยสมบรณแลว เมอเอาเมาสวางเหนอสวตช หลอดไฟกจะสวางขน

นอกจากภาพของอปกรณตางๆ การจาลองนยงสามารถแสดงรปสญลกษณของลายวงจรไฟฟา

และอปกรณแตละตว

Page 107: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 107

ตวละครและเวท

SimpleCircuit มตวละครทเปนอปกรณเพยง 3 ตว คอ สวตช แบตเตอร หลอดไฟ พรอมกบ

คาสงบอกวธใชงาน บนฉากหลงเวททเปนแผงวงจรไฟฟาแบบอนกรม

สครปตตวละครและเวท

สครปตของใบคาสง

ใบคาสงแสดงวธการใชดงน คลกธงเขยวเรมตนการจาลอง ลากอปกรณแตละตวเชอมกบ

แผงวงจร เปดหลอดไฟโดยใชเมาสวางบนสวตช กด space bar เพอดแบบสญลกษณของ

แผงวงจร

สครปตของใบคาสง เรมเมอผใชคลกธงเขยว กจะแสดงวธใชงานกอนเรมการจาลอง จากนน

วธใชงานจะหายไป โดยใชเอฟเฟคลองหน (set ghost effect to 100)

Page 108: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

108 kidsangsan.com สมชาย พฒนาชวนชม

วธใชงาน

เมอผใชคลกธงเขยว อปกรณทงหมดจะมาอยตรงกลาง เพอใหผใชนาอปกรณไปวางในแผงวงจร

เอง และเมอกด space bar จะเหนสญลกษณสดาของลายวงจรและอปกรณ ทงบนเวทและใน

รายการตวละคร

การวางอปกรณไมขนกบตาแหนงเพราะเปนวงจรอนกรมอยางงาย ขอเพยงใหอปกรณแตะขว

แผงวงจรเปนใชได แตเพอความสวยงามการวางใหข วของอปกรณกบแผงวงจรตรงกนจะดมาก

รปถดไปแสดง (1) การวางทถกตองสวยงาม (2) เมอเอาเมาสชทสวตช หลอดไฟจะสวางทนท

(3) เมอกด space bar จะเหนสญลกษณทางไฟฟาสดา

Page 109: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 109

แตถาวางอปกรณแคใหสวนหนงสวนใดแตะขวแผงวงจรแลว การจาลองยงคงถกตองอย แตขด

ความรสกไปหนอย ทงนเกดจากการเขยนโปรแกรม รปถดไปแสดงใหเหนวา (1) แมขวจะถก

วางไมตรงตาแหนง (2) หลอดไฟกยงทางานได (3) เมอกด space bar จะเหนสญลกษณทาง

ไฟฟาทอยผดตาแหนง

Page 110: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

110 kidsangsan.com สมชาย พฒนาชวนชม

สครปตของเวท

ฉากหลงเวทเปนแผงวงจรอนกรมอยางงาย มข วตออปกรณ 3 แหง ตวขวมสเหลองกบสฟาเพอ

ใชในการเชอมตอกบอปกรณ แผงวงจรม 2 รปแบบ แบบปกตทมสสนสวยงาม กบแบบ

สญลกษณทางไฟฟาทเปนสดา

สครปตของแผงวงจรเรมเมอผใชคลกธงเขยว งานหลกของแผงวงจรทาแคสลบรปแบบ เมอผใช

กดคย space bar โดยใชบลอกควบคมถามฉะนน (if-else) ในการกาหนดการแสดงรปแบบ โดย

ตรวจสอบวาผใชกด space bar หรอยง (key space pressed?) ถาใช ใหแสดงภาพฉากหลง

เปนรปแบบสญลกษณ (Symbols) มฉะนน (else) แสดงรปแบบสสนปกต (Blank Circuit)

แตเนองจากผใชจะกดคย space bar เมอไหรกได ดงนนการสลบรปแบบทกลาวมา ตองอยใน

บลอกควบคมตลอดเวลา (forever) เพอตรวจสอบการกดคยตลอดเวลา

Page 111: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 111

สครปตของแบตเตอร

แบตเตอรมสองชด ชดแรกเปนรปแบตเตอรเหมอนจรง ชดทสองเปนรปสญลกษณทางไฟฟา

ของแบตเตอร สงเกตแมกญแจทตอจากชอ Battery จะเปดอย หมายความวา แบตเตอรสามารถ

ใชเมาสลากไปมาไดขณะโปรแกรมทางานในโหมดนาเสนอ หรอบนเวบไซตของ Scratch

Page 112: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

112 kidsangsan.com สมชาย พฒนาชวนชม

สครปตแรกของแบตเตอร คลายกบแผงวงจร คอทกครงทผใชกด space bar ใหแสดงรป

สญลกษณของแบตเตอร มฉะนนแสดงรปจรงของแบตเตอร โดยใชบลอกควบคมถามฉะนน (if-

else) ในการกาหนดการแสดงรปแบบ และอยภายในบลอกควบคมวนซาตลอดเวลา (forever)

เพอรบการตรวจสอบตลอดเวลา

สครปตทสองของแบตเตอร เปนการตรวจสอบวาแบตเตอรตอกบแผงวงจรแลวหรอยง สครปต

เรมเมอผใชคลกธงเขยว จากนนกาหนดขนาดเรมตนของแบตเตอรเทาของจรงกอน ดวยบลอก

ตงคาขนาด (set size to 100%) ทงนเพราะขนาดมผลตอการเชอมเขาแผงวงจร

จากนนแบตเตอรจะมาอยตรงกลางแผงวงจร (go to x:-4 y:-35) เพอใหผใชนามนไปวางใน

แผงวงจรเอง วธการหาตาแหนงบนเวทเพอใชในสครปตทาไดโดยลากอปกรณ เชนแบตเตอร

ไปยงตาแหนงทตองการกอน จากนนสงเกตตาแหนง x กบ y ในบรเวณขอมลของแบตเตอร เอา

คา x กบ y ทปรากฏ ไปใชในบลอกไปยง (go to x: y:)

ถดไปเปนการตรวจสอบการเชอมตอแบตเตอรกบแผงวงจร ตลอดการใชงาน ดงนนการ

ตรวจสอบจะอยภายในบลอกควบคมตลอดเวลา (forever) ในการตรวจสอบนนใชบลอกถา

มฉะนน (if-else) โดยตรวจดวาแบตเตอรสมผสกบสเหลองและสฟา (ซงเปนสของขวใน

แผงวงจร) หรอยง ถาใช ใหตงคาตวแปร battconnected เทากบ 1 (ตอกบแผงวงจรแลว) ถา

ยงใหตงคาเปน 0 (ยงไมไดตอกบแผงวงจร)

Page 113: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 113

สครปตของหลอดไฟ

หลอดไฟมสามชด ชดแรกเปนรปหลอดไฟตด ชดทสองเปนรปหลอดไฟดบ รปทสามเปนรป

สญลกษณทางไฟฟาของหลอดไฟ

สงเกตแมกญแจทอยถดจากชอ Bulb จะเปดอย หมายความวา หลอดไฟสามารถใชเมาสลากไป

มาไดขณะโปรแกรมทางานในโหมดนาเสนอ หรอบนเวบไซตของ Scratch

Page 114: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

114 kidsangsan.com สมชาย พฒนาชวนชม

สครปตแรกของหลอดไฟ เปนการตรวจสอบวาหลอดไฟตอกบแผงวงจรแลวหรอยง คลายๆ กบ

แบตเตอร สครปตเรมตนเมอผใชคลกธงเขยว จากนนกาหนดขนาดเรมตนของหลอดไฟเทาของ

จรงกอน ดวยบลอกตงคาขนาด (set size to 100%) ทงนเพราะขนาดมผลตอการเชอมเขา

แผงวงจร

ถดไปเปนการตรวจสอบการเชอมตอหลอดไฟกบแผงวงจร ภายใตการควบคมของบลอก

ตลอดเวลา (forever) การตรวจสอบจะใชบลอกถามฉะนน (if-else) โดยตรวจดวาหลอดไฟ

สมผสกบสเหลองและสฟา (ซงเปนสของขวในแผงวงจร) หรอยง ถาใช ใหตงคาตวแปร

balbconnected เทากบ 1 (ตอกบแผงวงจรแลว) ถายงใหตงคาเปน 0 (ยงไมไดตอกบแผงวงจร)

Page 115: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 115

สครปตทสอง จะคอยตรวจสอบการกด space bar และการเปดสวตชจากผใช โดยเรมสครปต

เมอผใชคลกธงเขยว จากนนกาหนดขนาดเรมตนของหลอดไฟเทาของจรงกอน ดวยบลอกตงคา

ขนาด (set size to 100%) จากนนหลอดไฟจะมาอยตรงกลางแผงวงจร (go to x:-111 y:-54)

เพอใหผใชนามนไปวางในแผงวงจรเอง

ถดไปเปนการตรวจสอบการกดคย space bar และการเปดสวตชจากผใช ซงเกดเมอใดกได

ดงนนตองตรวจสอบภายในบลอกควบคมตลอดเวลา (forever) การตรวจสอบจะทา 2 ชน คอ

ตรวจสอบการกดคยกอน (key space pressed?) ในบลอกควบคมถามฉะนน (if-else) ถาคยถก

กดจะเปลยนชด เปนสญลกษณทางไฟฟาของหลอดไฟ ถาไมไดกดคย (else) จะตรวจสอบอก

ครงวา หลอดไฟตดหรอไม โดยทหลอดไฟจะตดได กตอเมอทกอปกรณเชอมตอแผงวงจรและ

สวตชถกเปด

Page 116: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

116 kidsangsan.com สมชาย พฒนาชวนชม

การตรวจสอบการเชอมตอของอปกรณ ทาไดดวยการตรวจสอบตรรกะของตวแปรทเกบคาการ

เชอมตอ (battconnected, Switchconnected, bulbconnected) โดยใชโอเปอรเรชนเทากบ

ถาเทากบ 1 หมายถงเชอมตอแลว นนกคอตรวจสอบวา (battconnected=1)

(Switchconnected=1) (bulbconnected=1) หรอไม

สวตชจะเปดได มนตองถกเชอมตอกอน ดงนนตรวจสอบแคสวตชเปดอยางเดยว (Switch=1) ก

พอ การเชอมตอของสวตชกไมจาเปนตองตรวจสอบกได

ดงนนถาทกอปกรณเชอมตอแผงวงจรและสวตชถกเปด ((battconnected=1) and ((Switch=1)

and (bulbconnected=1))) หลอดไฟจะตด โดยการเปลยนชด (switch to costume bulbon)

มฉะนนแลวหลอดไฟจะดบ (switch to costume bulboff)

การตรวจสอบเงอนไขหลายๆ เงอนไขพรอมกน (battconnected=1, Switch=1,

bulbconnected=1) ทาไดโดยใชโอเปอรเรชนตรรกะและ (and) ชวยในการ

ประมวณผล วาสดทายแลวเงอนไขไดจรงหรอเทจ โดยททกเงอนไขตองเปนจรงทงหมดจงจะให

ตรรกะสดทายเปนจรง

Page 117: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 117

การประมวณผลทางตรรกะ

การประมวณผลทางตรรกะใน Scratch ทาได 3 แบบ คอใช ตรรกะและ (and) ตรรกะหรอ (or)

ตรรกะไม (not) คาตอบหาไดจากตารางความจรง (Truth table) ในแตละแบบดงน

ตารางความจรงของเงอนไข A กบเงอนไข B เมอผานโอเปอรเรเตอรตรรกะแลวจะไดผลลพธ C

เปนตารางความเปนไปไดทงหมดเมอเงอนไขของ A กบ B เปนจรง (T) หรอเปนเทจ (F)

ตรรกะและ (and) จะใหผลลพธเปนจรงไดกรณเดยว คอเงอนไข A และ B ตองเปนจรงทงค

กรณอนๆ เปนเทจหมด

จากตารางความจรงของตรรกะและ โอเปอรเรเตอรตรรกะและ จงถกใชในสครปตหลอดไฟ

เพราะตองการใหทกเงอนไขเปนจรง แตการตรวจสอบเงอนไขหลายๆ เงอนไข ตองทาเปนคๆ

เชน ในกรณสครปตหลอดไฟ เชคสวตชกบหลอดไฟกอน ผลลพธทไดนาไปเชคกบแบตเตอรอก

ท กจะไดคาตอบสดทาย

Page 118: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

118 kidsangsan.com สมชาย พฒนาชวนชม

ตรรกะหรอ (or) จะใหผลลพธเปนเทจไดกรณเดยว คอเงอนไข A และ B ตองเปนเทจทงค กรณ

อนๆ ใหคาตอบเปนจรงหมด

ตรรกะไม (not) จะใหผลลพธสลบกบขอเทจจรงทเปนอย คอจากจรงเปลยนเปนเทจ หรอจาก

เทจเปลยนเปนจรง

Page 119: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 119

สครปตของสวตช

สวตชมสามชด ชดแรกเปนรปสวตชปด ชดทสองเปนรปสวตชเปด รปทสามเปนรปสญลกษณ

ทางไฟฟาของสวตช

สงเกตแมกญแจทอยถดจากชอ Switch จะเปดอย หมายความวา สวตชสามารถใชเมาสลากไป

มาได ขณะโปรแกรมทางานในโหมดนาเสนอ หรอบนเวบไซตของ Scratch

Page 120: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

120 kidsangsan.com สมชาย พฒนาชวนชม

สครปตของสวตชดเหมอนจะซบซอน เพราะทาทกอยางภายในสครปตเดยว ทาใหสครปตยาว

แตจรงๆ แลวไมซบซอน โดยเฉพาะเมอดสครปตของอปกรณอนๆ มาแลว

สครปตของสวตชเรมเมอผใชคลกธงเขยว จากนนกาหนดขนาดเรมตนของสวตชเทาของจรง

กอน ดวยบลอกตงคาขนาด (set size to 100%) ทงนเพราะขนาดมผลตอการเชอมเขาแผงวงจร

จากนนสวตชจะมาอยตรงกลางแผงวงจร (go to x:133 y:-18) เพอใหผใชนามนไปวางใน

แผงวงจรเอง

ถดไปเปนการตรวจสอบการกดคย space bar การเชอมตอแผงวงจร และการเปดสวตชจากผใช

ซงเกดเมอใดกได ดงนนตองตรวจสอบภายในบลอกควบคมตลอดเวลา (forever)

Page 121: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 121

การตรวจสอบจะทา 3 ชน คอตรวจสอบการกดคยกอน (key space pressed?) ในบลอก

ควบคมถามฉะนน (if-else) ถาคยถกกดจะเปลยนชด เปนสญลกษณทางไฟฟาของสวตช

ถาไมไดกดคย (else) จะตรวจสอบชนทสอง ในบลอกถามฉะนน (if-else) อกครงวา สวตช

เชอมตอแผงวงจรหรอไม โดยตรวจดวาหลอดไฟสมผสกบสเหลองและสฟา (ซงเปนสของขวใน

แผงวงจร) หรอยง

ถาใช ใหตงคาตวแปร Switchconnected เทากบ 1 หมายความวา สวทชตอกบแผงวงจรแลว

ทาใหผใชสามารถเปดสวทชได ดงนนโปรแกรมสามารถตรวจสอบการเปดสวทชตอได โดย

ตรวจสอบชนทสาม ในบลอกถามฉะนน (if-else) อกครงวา สวตชเปดหรอยง (touching

mouse-pointer?) ถาผใชนาเมาสมาสมผสทสวตช กจะเปลยนชดเปน Switchon แลวตงคาตว

แปรสวตชเทากบ 1 (switch = 1) มฉะนนเปลยนชดเปน Switchoff แลวตงคาตวแปรสวตช

เทากบ 0 (switch = 0)

ถาสวตชยงไมไดเชอมตอแผงวงจร (else ของบลอกถามฉะนนในชนท 2) ใหตงคาตวแปร

Switchconnected เทากบ 0 จากนนเปลยนชดเปน Switchoff แลวตงคาตวแปรสวตชเทากบ 0

(switch = 0)

Page 122: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

122 kidsangsan.com สมชาย พฒนาชวนชม

การทางานแบบมเงอนไข

การควบคมลาดบการทางานทข นกบเงอนไขมหลายแบบ คอจะทางานถาเงอนไขเปนจรงเทานน

(บลอกถา if) ทางานไดทงกรณทเงอนไขเปนจรงหรอเปนเทจ (บลอกถามฉะนน if-else) และ

สดทายคอการนาบลอกทงสองแบบมาซอนกน (nested if) โดยนาบลอกหนงไปซอนในอกบลอก

หนง ซงจะซอนกนกช นกได แตมากไปกอาจทาใหสครปตดสบสนได และสามารถซอนในสวนท

เงอนไขเปนจรง (ใต if) กได หรอในสวนทเงอนไขเปนเทจ (ใต else) กได

ในสครปตของ Bulb และ Switch จะเหนการซอนกนของบลอกเงอนไขหลายรปแบบ ลาดบการ

ทางานในแบบแรก (Bulb) เรมตนดวยการตรวจสอบเงอนไขแรกกอน (A) ถาเงอนไข A เปนจรง

ทางานในสวน (1) ถาเงอนไข A เปนเทจ (else) ตรวจสอบเงอนไขทสอง (B) ถาเงอนไข B เปน

จรง ทางานในสวน (2) ถาเงอนไข B เปนเทจ (else) ทางานในสวน (3)

ลาดบการทางานในแบบทสอง (Switch) นาทาทายกวาแบบแรก ลองฝกทาดจะรวาไมยากเลย

Page 123: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 123

การตอยอดโปรเจก SimpleCircuit

• แกไขการตอวงจรใหถกตอง โดยใหข วไฟฟาตอกนเพยงอยางเดยว

• เมอสวตชเปด แบตเตอรจะถกใชงาน พลงงานจะลดลงตามเวลาในการใชงาน ดงนน

เพมตวแปรพลงงานของแบตเตอร แลวจบเวลาการใชงานของแบตเตอรทกครงท

หลอดไฟตด เมอแบตเตอรหมด หลอดไฟจะตองดบ

• เมอพลงงานของแบตเตอรลดลง เสยงสวางกจะลดลง เพมแอนเมชนใหกบหลอดไฟ

แสดงการลดแสงลงตามพลงงานทเหลอของแบตเตอร

Page 124: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

124 kidsangsan.com สมชาย พฒนาชวนชม

โปรเจก GardenSecret

โปรเจก GardenSecret เปนการแสดงศลปะแบบโตตอบ (Interactive Art) เรมตนดวยการเปด

โปรเจก โดยเลอก Open ในเมน File จากนนคลกปม Examples เลอกโฟลเดอร Interactive Art

เลอกโปรเจก GardenSecret

ภาพรวมของโปรเจก

โปรเจกนเปนการสรางสวนดอกไม ทผเสอเปนผนาดอกไมมาทสวนแหงน โดยอาศยการ

ออกแบบจากผใช เปนผชนาตาแหนงการปลกดอกไม ดวยการใชเมาสคลกเพอระบตาแหนง

ผเสอสามารถปลกดอกไมไดหลากหลายสสน ระหวางการปลกจะมเสยงดนตรประกอบ ทาให

สวนแหงนดมชวตชวา และถาโชคด นางฟากจะปรากฎ บนมาเทยวชมสวนแหงน

Page 125: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 125

ตวละครและฉากเวท

ตวละครใน GardenSecret มผเสอ นางฟา กลบดอกไม 5 ชนด และใบคาสงในการใชงาน สวน

ฉากหลงเวทเรยบงายดวยสฟาออน

สครปตของตวละครและเวท

สครปตของใบคาสง

ใบคาสงเปนคาแนะนาสนๆ ใหผใชคลกตาแหนงทตองการปลกตนไมในสวนแหงน

สครปตของใบคาสง เรมเมอผใชคลกธงเขยว จากนนแสดง (show) คาแนะนาการปลกดอกไม

และรอ (wait) 3 วนาท กอนทจะหายไป (hide)

Page 126: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

126 kidsangsan.com สมชาย พฒนาชวนชม

สครปตของผเสอ

ผเสอเปนผนาดอกไมมาทสวนแหงน โดยปกตมนจะซอนตว และรอคาสงจากผใชวาจะใหปลก

ดอกไมตรงไหน เมอใดทผเสอรแลววาจะปลกดอกไมตรงไหน มนกจะบนไปทนน และเลอกวาจะ

ปลกดอกไมชนดใด ดอกไมทไดรบเลอกกจะบานออก และถาดอกไหนโชคด กจะมนางฟาลงมา

เชยชม

สครปตแรกของผเสอเรมตนเมอผใชคลกธงเขยว จากนนซอนตว (hide) แลวทาตวใหเลกลง

(set size to 25%) และกอนทมนจะวาดดอกไมในสวน มนจะทาใหสวนนวางเปลากอน ดวยการ

ลบ (clear) ทกอยางทอยบนเวท

Page 127: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 127

สครปตทสองของผเสอเรมพรอมสครปตแรก คอเมอผใชคลกธงเขยว ผเสอไมรวา ผใชจะบอก

ตาแหนงการปลกดอกไมเมอไร ดงนนตองคอยในบลอกตลอดเวลา (forever)

ผเสอจะรอจนกวา (wait until) การชตาแหนงจากเมาสของผใช (mouse down?) เมอใดทเมาส

ถกคลก ตาแหนงของเมาสจะถกเกบไว ในตวแปรภายในของ Scratch นนกคอ mouse x และ

mouse y ผเสอจะไปยงตาแหนง x ของเมาส และ y ท -200 ซงอยดานลางนอกกรอบเวท กอน

จะปรากฏตว (show) และสงเสยง Chimes1 โดยบลอกเลนเสยง (play sound) กอนจะเรมตน

วาดดอกไม

เพอเพมความหลากหลายสสนของสวนแหงน ผเสอตงคาสของปากกา (set pen color to) โดย

สมคาสตงแต 20 ถง 80 (pick random 20 to 80) และเปลยนเฉดส (change pen shade by)

โดยสมคาตงแต -20 ถง 20 ตอดวยการกาหนดขนาดของปากกา (set pen size to) โดยสมคา

ตงแต 2 ถง 6

Page 128: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

128 kidsangsan.com สมชาย พฒนาชวนชม

จากนนจรดปากกา (pen down) หลงจากน ถาผเสอเคลอนทไปทใด กจะวาดลายเสนไปดวย

ดงนนเมอมนเคลอนทไปยงตาแหนงของเมาส ภายใน 1 วนาท (glide 1 secs to x: mouse x y:

mouse y) กจะเปนการวาดกานของดอกไม เมอมนยกปากกา (pen up) มนกจะหยดวาด

ผเสอจะเลอกดอกไม เกบไวทตวแปร flower (set flower to) จากการสมดอกไมทมอย 5 ชนด

(pick random 1 to 5) แลวสงสาร draw-flower เพอใหดอกทไดสมเลอกไว วาดดอกนนๆ

กอนทตวมนจะจากไป (hide) มนยงเชญชวนใหนางฟามาชมดอกไม ทจะถกสรางขนมาน โดย

สมเลขแหงโชคมาคาหนงตงแต 1 ถง 100 มาเกบไวในตวแปร lucky และถาโชคด นางฟากจะ

มาเยอน

Page 129: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 129

สครปตของนางฟา

ทกครงทผเสอปลกดอกไม จะเชญนางฟาใหไปเยยมชมดอกทปลกใหม แตนางฟาจะไปหรอไม

ขนอยกบวาดอกนนจะมโชคหรอไม

สครปตของนางฟา เรมเมอผใชคลกธงเขยว ปกตนางฟาจะไมปรากฎกาย (hide) แตนางฟาจะ

คอยตรวจสอบอยตลอดเวลา วาดอกไหนมโชค ในบลอกตลอดเวลา (forever)

คาความโชคดอยในตวแปร lucky ทผเสอสมขนมา นางฟาจะคอยจนกระทง คาความโชคดมคา

มากกวา 95 เมอใด (wait until lucky > 95 คาสมสงขนาดน ตองโชคดจรงๆ) นางฟากจะปรากฎ

กาย ณ ตาแหนงของดอกไม (ตาแหนงทเมาสคลก mouse-pointer)

วธการเยยมชมของนางฟา อยภายใตเงอนไขวาดอกไมปลก ณ ตาแหนงใด (mouse x > 0) บน

เวท ถาอยทซกตะวนออก (x > 0) นางฟาจะหนไปยงทศตะวนตก (-90) มฉะนนจะหนไปยงทศ

ตะวนออก (90) โดยใชบลอกชไปยงทศ (point to direction) เปนตวกาหนดการหน

Page 130: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

130 kidsangsan.com สมชาย พฒนาชวนชม

นางฟาจะปรากฎกาย (show) แลวตงคาความโชคดกลบเปน 0 ใหม (set lucky to 0) และจะอย

เพยง 1 วนาท (wait 1 secs) กอนจะหายตวไป (hide)

สครปตของดอกไม

การวาดดอกไมใหมความหลากหลายนน แทนทจะเพมชดแตงกาย (costumes) มากขน ซงเปน

วธการหนง แตไมมประสทธภาพเทาทควร เนองจากเปลองพนทการจดเกบ การวาดดอกไมใน

โปรเจกน ใชเทคนคการวาดกลบดอกไมแทน นนกคอการใชกลบดอกไมเพยงไมกแบบ แลว

กาหนดคาส ความสวาง ขนาด และการจดเรยงตาแหนงของกลบดอกไมใหม กอนทจะวาด

ดอกไม ดวยการตราประทบ (stamp) กลบดอกไมไปรอบๆ เปนวงกลม ซงวธนสามารถสราง

ดอกไมใหมความหลากหลายไดอยางมประสทธภาพ และแสดงแอนเมชนของการวาดดอกไมได

ดวย

กอนจะเรมวาดดอกไม ผเสอเลอกดอกไมดวยการสมคาเกบไวในตวแปร flower แลวสงสาร

draw-flower ใหดอกไมทเลอกไววาดรป โดยทแตละดอกจะตองตรวจสอบเองวา ตวเองถกเลอก

หรอไม เชน ดอกท 1 (flower1) กจะตรวจสอบวาตวแปร flower = 1 หรอไม ดอกท 2 (flower2)

กจะตรวจสอบวาตวแปร flower = 2 หรอไม เปนตน

Page 131: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 131

สครปตของดอกท 1

สครปตแรกของดอกท 1 เรมเมอผใชคลกธงเขยว จากนนซอนตวกอน (hide) รอการเรยกใหวาด

รป

สครปตทสองของดอกท 1 เรมเมอไดรบสาร draw-flower ดอกท 1 จะวาดดอกไม กตอเมอ

ตวเองถกเลอก ดงนนการวาดรปตองอยในบลอกเงอนไขถา (if)

ถาผเสอเลอกดอกท 1 (flower=1) ดอกท1 จะไปยงตาแหนงของผเสอ (go to butterfly) ยาย

มาเลเยอรดานหนา (go to front) เพอวาดรปทบรปดอกอนๆ ทถกวาดกอนหนาน รวมทงตว

ผเสอดวย เพอใหการวาดดอกไมนาสนใจ มนจะสงเสยง Fall1 ประกอบดวย

Page 132: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

132 kidsangsan.com สมชาย พฒนาชวนชม

กอนทจะเรมวาดดอกไม ตองตงคาตางๆ ของปากกาใหม นนกคอ ส (color) ความสวาง

(brightness) และขนาด (size) เพอใหเกดความหลากหลายสสน

โดยทคาสมาจาก ตาแหนง x ของเมาสหารดวย 5 (mouse x / 5) คาความสวางไดจากการสม

คาตงแต -25 ถง 25 (pick random -25 to 25) สวนคาขนาดคอนขางซบซอนสกหนอย โดยนา

คาตาแหนง y ของเมาส มาบวก 220 แลวหารดวย 3 ทาใหดอกทอยสงจะใหญกวาดอกทอย

ดานลาง หลงจากนนบวกกบคาสมตงแต -5 ถง 5

การวาดดอกไม ทาไดจากการตราประทบ (stamp) กลบดอกไมไปรอบๆ เปนวงกลม หางกน

ทกๆ 15 องศา โดยประทบ 1 ครง (stamp) แลวกหมนตามเขนนาฬกาไป 15 องศา (turn 15

degrees) เพอใหได 1 รอบพอด ตองประทบจานวน (360/15) ครง ในบลอกทาซา (repeat)

สดทายวาดตรงกลางของดอกไม ดวยปากกาขนาด 8 (set pen size to 8) ดวยสเหลอง (set

pen color) โดยจรดปากกาลง (pen down) แลวขยบปากกา 1 กาว (move 1 steps) จากนนยก

ปากกา (pen up) กจะไดดอกไมแบบท 1 มา 1 ดอก

Page 133: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 133

การคานวณใน Scratch

การเขยนโปรแกรม คงหนไมพนการคานวณและการประมวลผลขอมล ซงพบเหนไดเกอบจะทก

โปรเจกใน Scratch โดยขอมลทสามารถนามาคานวณได คอ ตวเลข ตวอกษร และขอเทจจรง

การประมวลผลขอมลทาได โดยใชบลอกในหมวดโอเปอรเรชนดงน

• การคานวณตวเลขทวไป กมการบวก (+) ลบ (-) คณ (*) หาร (/) นอกจากนนยงม การ

สมคา (pick random) และการใชฟงกชนคณตศาสตรอกมากมาย

• สวนการจดการขอมลตวอกษรนน สามารถเชอมคาสองคาใหเปนคาเดยวกนได (join)

หรอดงอกษรใดอกษรหนงมาจากคาได (letter of ) นอกจากนนยงนบจานวนอกษร

ทงหมดในคาได (length of)

• สาหรบตรรกะทใชในบลอกเงอนไข หาไดจากการเปรยบเทยบตวเลข เชน การ

เปรยบเทยบ มากกวา (>) นอยกวา (<) หรอเทากบ (=) ซงจะคนคาเปน จรงหรอเทจ

เมอมหลายเงอนไข กยงสามารถประมวลผลระหวางเงอนไขไดจาก ตรรกะและ (and)

ตรรกะหรอ (or) และตรรกะไม (not)

สงสาคญอยางหนงในการคานวณทกลาวมา คอลาดบการคานวณ ตวอยางเชน ถาตองการ

คานวณ 3 * 5 - 4 / 2 ในโปรแกรมภาษาอน จะคานวณตามกฎลาดบการคานวณของภาษานนๆ

เพอลดความสบสนในเรองลาดบการคานวณ ใน Scratch จะคานวณไดทละค เหมอนการใส

วงเลบ ซงคนเขยนโปรแกรมตองเปนผรวา ลาดบการคานวณเปนอยางไร แลวจบคใหถกลาดบ

มเชนนนจะไดผลลพธแตกตางกน เชน ((3 * 5) - (4 / 2)) = 13 หรอ ((3 * (5 – 4)) / 2) = 1.5

เปนตน

Page 134: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

134 kidsangsan.com สมชาย พฒนาชวนชม

สครปตของดอกท 2

สครปตแรกของดอกท 2 เหมอนกบสครปตแรกของดอกท 1 สวนสครปตทสองของดอกท 2

คลายกบสครปตทสองของดอกท 1 แตดอกท 2 มกลบดอกอย 2 ชน โดยจะเรมตนวาดดวยกลบ

แบบแรก (costume1) เหมอนดอกท 1 แลวจงวาดกลบแบบทสอง (costume2)

Page 135: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 135

โดยสครปตเรมเมอไดรบสาร draw-flower ถาตวเองถกเลอก (flower=2) กจะไปทผเสอ ยาย

มาเลเยอรหนาสด แลวเปลยนชดเปนกลบแบบแรก (switch to costume costume1) จากนนสง

เสยง Beep1

การตงคาของปากกาทาเหมอนดอกท 1 กอนจะวาดกลบแบบแรกดวยการตราประทบ แลวหมน

ตามเขมนาฬกา 15 องศา จานวน (360/15) ครง ไดหนงรอบพอด

จากนนเปลยนชดเปนกลบแบบทสอง ลดขนาดกลบดวยการสมคาตงแต 25 ถง 100 (เปน

กลบชนใน) จากนนกประทบดวยกลบแบบทสอง โดยคราวนจะหมนทวนเขนนาฬกาทกๆ 20

องศา จานวน 360/20 ครง ไดกลบอกหนงชน

Page 136: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

136 kidsangsan.com สมชาย พฒนาชวนชม

สครปตของดอกท 3

สครปตแรกของดอกท 3 เหมอนกบสครปตแรกของดอกท 1 สวนสครปตทสองของดอกท 3

คลายกบสครปตทสองของดอกท 1 โดยสครปตเรมเมอไดรบสาร draw-flower ถาตวเองถกเลอก

(flower=3) กจะไปทผเสอ ยายมาเลเยอรหนาสด แลวสงเสยง Cowbell1

จากนนตงคาของปากกาเหมอนดอกท 1 แลววาดดอกไมดวยการตราประทบ โดยหมนตามเขม

นาฬกา 30 องศา จานวน (360/30) ครง ไดหนงรอบพอด

Page 137: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 137

สครปตของดอกท 4

สครปตของดอกท 4 คลายกบสครปตของดอกท 3 มาก ตางกนตรงเสยงประกอบ ทใชเสยง

Laser1 แทน

Page 138: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

138 kidsangsan.com สมชาย พฒนาชวนชม

สครปตของดอกท 5

สครปตของดอกท 5 กคลายกบสครปตของดอกท 3 มากเหมอนกน ตางกนตรงเสยงประกอบ ท

ใชเสยง Gong1 แทน

Page 139: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 139

การตอยอดโปรเจก GardenSecret

• รปแบบตราประทบ (stamp) แบบอนๆ เชน กลบเวนกลบ กลบวนแลวมขนาดลดลง

ดวย เหมอนวงกนหอย (spiral) กลบสแฉก กลบหาแฉก เปนตน

• การวาดดอกไม ดวยการวาดลายเสน จากการเคลอนท และการเปลยนทศ

• แทนทจะเปนดอกไม เปลยนเปนพลแทน เมอผใชคลกทใด จะมแอนเมชนขณะพลขน

ระเบด แลวหายไป พรอมทงเสยงประกอบ การออกแบบคอนขางยาก แตกทาทาย

เหมอนกน โดยเฉพาะทาใหพล คอยๆ หายไปเมอเวลาผานไป

Page 140: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

140 kidsangsan.com สมชาย พฒนาชวนชม

โปรเจก PianoMachine

โปรเจก PianoMachine เปนโปรเจกทาแอนเมชนงายๆ เนนทเสยงดนตร จงถกจดอยในกลม

ของ Music and Dance เปดโปรเจกดวยการเลอก Open ในเมน File จากนนคลกปม

Examples เลอกโฟลเดอร Music and Dance แลวเลอกโปรเจก PianoMachine

ภาพรวมของโปรเจก

บนเวทมคยเปยโน ซงแตละคยมเสยงตางกน เมอลกบอลมากระทบ หรอผใชคลกทคยเปยโน

คยนนจะแสดงแอนเมชนงายๆ เสมอนวาคยเปยโนถกกดลงพรอมกบเสยงคยนน แลวคยเปยโน

กเดงขนเอง ขณะทโปรแกรมทางาน ผใชสามารถลากคยเหลานไปวางตาแหนงใหมได เพอให

เกดเสยงรปแบบใหมๆ

Page 141: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 141

บนเวทยงมปมตางๆ (User interface) ใหผใชควบคม ขณะโปรแกรมทางาน เชน ตอนเรมตน

โปรแกรม ลกบอลจะมอย 3 ลก เมอกดปมจานวนลกบอล (ปมสเหลอง) ลกบอลจะเพมขนทละ

ลก เมอถง 6 ลกแลว จะวนกลบมาท 1 ลกใหม

ปกตการเคลอนทของลกบอล จะเคลอนทไปเรอยๆ ถาชนขอบเวทกจะสะทอนกลบ แตถาชนคย

เปยโนแลว อาจสะทอนกลบ (rebound) หรอผานเลยไป (through) ทงนขนกบสถานะของปม

ควบคมการสะทอน (ปมสนาเงน)

นอกจากสองปมนแลว ยงมสไลเดอรทใชควบคมความเรวของลกบอล และถาผใชคลกทเวท ลก

บอลทกลกกจะเปลยนทศเองแบบสมอกดวย

ตวละครและเวท

โปรเจกนมตวละครมากถง 26 ตว แตถาจดกลมแลว จะมใบคาสง 1 ใบ ปมคาสง 2 ปม ลกบอล

6 ลก และคยเปยโน 17 คย สวนฉากหลงเวทเรยบงายเปนเฉดสฟาตามแนวรศมวงกลม

Page 142: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

142 kidsangsan.com สมชาย พฒนาชวนชม

สครปตของตวละครและเวท

สครปตของคาสง

คาสงทอยบนเวท สงใหดคาสงของโปรเจกนใน Project Notes อกท ซงเปดดได โดยคลกเมน

File เลอก Project Notes … ทงนอาจเปนเพราะวาคาสงคอนขางยาว ไมเหมาะทจะใสไวบนเวท

วธนนาจะดกวา

สวนสครปตของใบคาสงกงายๆ คอเมอผใชคลกธงเขยวแลวมนจะหายไป ดวยเอฟเฟคหายตว

(ghost) เทานนเอง

Page 143: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 143

สครปตของเวท

สครปตของเวท เรมตนทกครงทผใชคลกทวางบนเวท โดยใชบลอกควบคมคอยตรวจสอบวาเวท

ถกคลกหรอยง (when Stage clicked) ถาเวทถกคลก เวทจะสงสาร new random direction

ออกไป ซงตวละครใดทรอรบสารน (ลกบอลทงหมด) จะถกกระตนใหทางานตอไป

Page 144: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

144 kidsangsan.com สมชาย พฒนาชวนชม

สครปตของคยเปยโน

เสยงเปยโนเกดจากการกระทบของลกบอลกบตวคยเปยโน หรอผใชคลกตวคยเปยโนโดยตรง

เปยโนมเสยงตางกน 17 เสยง จาก 17 คย แตทกคยใชหลกการเดยวกน ทาใหสครปตออกมา

คลายกนมาก ตางกนแคเสยงของแตละคยเทานน ดงนนมาดสครปตของคย keyG-55 ซง

สามารถเปนตวแทนของคยทเหลอไดเปนอยางด

สครปตแรกของคย keyG-55 เรมเมอผใชคลกธงเขยว ตวคยจะอยในสภาวะทยงไมไดกด โดย

เปลยนชดเปน up สครปตทสองเรมเมอคยนถกคลก (when keyG-55 clicked) จากการคลกคย

นโดยตรงของผใช กจะสงสาร playG-55 ออกไป

สครปตทสามเรมเมอตวมนเองไดรบสาร playG-55 ตวคยจะเปลยนชดเปน down เพอแสดง

การกดลงของคย จากนนเลนเสยงตวโนตท 55 ครงจงหวะ (play note 55 for 0.5 beats) แลว

เปลยนเครองแตงกายเปน up เปนอนครบรอบการแสดงแอนเมชนของการกดคยเปยโนหนงครง

นอกจากการรบสาร playG-55 จากตวคยเองแลว สครปตนยงรบสารจากลกบอล เมอลกบอล

กระทบคยนดวย เทคนคนทาใหเขยนสครปตเพยงครงเดยวเทานน สาหรบแสดงแอนเมชนการ

กดคยพรอมเสยงของคยนนๆ

Page 145: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 145

สครปตของลกบอล

ปกตลกบอลจะเคลอนทไปมาตลอด เมอชนขอบเวทกจะสะทอนกลบ แตถาชนกบคยเปยโนจะ

เกดเสยงของคยนนๆ สวนจะสะทอนกลบหรอผานเลยไป ขนกบสถานะการสะทอน ในตวแปร

rebound ณ ขณะนน ลกบอลมอยดวยกน 6 ลก ตอนเรมตนมอยเพยง 3 ลกเทานนบนเวท แต

สามารถเพมลดได ดวยปมควบคมจานวนลกบอล

สครปตของลกบอลนนคอนขางยาวทเดยว มถง 20 สครปต แตสครปตสวนใหญ เปนสครปตท

คอยตรวจสอบการชนคยเปยโนตางๆ (17 คย) ซงจะคลายกนหมด สครปตของลกบอลทง 6 ลก

มลกษณะคลายกนมากๆ ดงนนมาดสครปตของลกบอล 1 กนาจะเพยงพอกบการทาความเขาใจ

ลกบอลทเหลอ

สครปตแรกเรมเมอผใชคลกธงเขยว ลกบอลจะยายไปเลเยอรดานหนาสด (go to front) เพอให

เหนลกบอลตลอดเวลาขณะเคลอนทไปมา จากนนกาหนดทศการเคลอนท (point in direction)

แบบสมตงแต 1 ถง 360 องศา จากนนลกบอลจะเคลอนทไปเรอยๆ ภายในบลอกควบคม

ตลอดเวลา (forever) การเคลอนทจะเรวหรอชา ถกกาหนดในตวแปร speed ซงมคาตงแต 10

ถง 20 และผใชสามารถปรบเลอนไดดวยสไลเดอรบนเวท จากนนจะตรวจสอบการชนขอบเวท

ถาชนกจะสะทอนกลบ กอนทจะเคลอนทตอไปกจะหยดพก (wait) 0.01 วนาท

Page 146: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

146 kidsangsan.com สมชาย พฒนาชวนชม

ระหวางทลกบอลเคลอนทไป กจะตรวจสอบดวยวาตวเองไปกระทบกบคยไหนบาง การ

ตรวจสอบนทาเหมอนกนหมดทง 17 คย มาดคย keyC-48 ในสครปตทสองเปนตวอยาง สวนคย

อนกคลายๆ กน ยกเวน keyC-60 ในสครปตทสาม ทไมมการสะทอนของลกบอลเมอคยถกชน

สครปตทสองเรมเมอผใชคลกธงเขยว การตรวจสอบนเกดขนเมอใดกได ทาใหตองทาในบลอก

ตลอดเวลาถา (forever if) ถาลกบอลสมผสกบคยน (touching keyC-48) กจะตรวจสอบตอไปวา

ตวแปร rebound=1 หรอไม ถาใช กจะสะทอน โดยกาหนดทศการเคลอนทใหมเทากบ 180 +

direction โดยทตวแปร direction เปนตวแปรภายใน ทเกบคาทศการเคลอนทปจจบนของลก

บอลไว ทาใหลกบอลสะทอนกลบ 180 องศาจากทศเดม จากนนมนจะสงสารบอกคยทมนชน

และจะรอจนกวาแอนเมชนของคยจบลง (broadcast playC-48 and wait) เพอใหเกดการสมผส

คยแคครงเดยว ลกบอลจะรอตวมนเองเคลอนออกจากคยนกอน โดยตรวจสอบวาตวมนไม

สมผสกบคยนแลว (not tounching keyC-48)

Page 147: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 147

สครปตทส เรมเมอไดรบสาร new random direction จากการทผใชคลกทวางบนเวท ทาใหลก

บอลเปลยนทศการเคลอนทของตวเองแบบสมตงแต 1 ถง 360 องศา ทาใหมโอกาสไดเสยงใหม

เกดขน

สครปตทหา เรมเมอไดรบสาร number of balls changed จากการทผใชคลกปมควบคมจานวน

ลกบอล ลกบอลแตละลก จะตรวจสอบสทธการปรากฎตวของตวเอง จากตวแปร balls เชน เมอ

ลกบอล 1 (ball1) ไดรบสารน จะตรวจสอบดวา balls > 0 หรอไม ลกบอล 2 (ball2) กจะ

ตรวจสอบดวา balls > 1 หรอไม เปนตน

สาหรบลกบอล 1 ถา balls มากกวา 0 กจะปรากฎบนเวท (show) ถาไมใชกซอนตว (hide) ซง

ในตอนเรมตน ปมควบคมจานวนลกบอลไดกาหนดตวแปร balls = 3 ทาใหลกบอล 1-3 ปรากฎ

บนเวท

Page 148: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

148 kidsangsan.com สมชาย พฒนาชวนชม

การทาซาตวละครทมลกษณะคลายกน

ใน Scratch ตวละครตางชนดกน มกถกสรางของใครของมน แตถาตวละครเปนกลมเดยวกน ท

คลายกน เชน คยเปยโน กบ ลกบอล ในโปรเจกน แทนทจะสรางทละตว ควรจะเรมจากการ

สรางตนแบบของตวละครกอน แลวทาซาตวละครจากตนแบบอกท จานวนเทาไรกได โดยคลก

ขวาทตวละครตนแบบในรายการตวละคร จากนนเลอก duplicate ซงตวละครใหมจะไดสครปต

และชดมาทงหมดจากตวละครตนแบบ ตอจากนนเราสามารถแกไขเพมเตมตวละครใหมได

ในกรณของลกบอล จะเหนประโยชนอยางมาก เพราะแตละลกม 20 สครปต แลวชดกเหมอนกน

หมด การทาซาตวละครจากตนแบบ จะชวยลดเวลาในการสรางตวละครใหมอยางมาก สงเกตวา

ทกครงททาซา แมจะไดทกอยางจากตวละครตนแบบ แตตวละครทไดจากการทาซา จะไดชอตว

ละครใหม ซงถอวาเปนอสระจากตวละครตนแบบ

Page 149: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 149

สครปตของป มควบคมจานวนลกบอล

ผใชสามารถเพมหรอลดจานวนลกบอลบนเวทได โดยคลกปมควบคมจานวนลกบอล ทกครงท

คลกจะเพมลกบอล 1 ลกบนเวท จนกระทงครบ 6 ลกแลว จะกลบมาเรมท 1 ลกใหม

สครปตแรกเรมเมอผใชคลกธงเขยว จะกาหนดจานวนลกบอลเรมตนเทากบ 3 ในตวแปร balls

(set balls to 3) แลวเปลยนชดเปนหมายเลข 3 จากนนสงสาร number of balls changed (ให

ลกบอลทกลก)

สครปตทสองเรมเมอผใชคลกทปมน (when balls clicked) ปมจะแสดงแอนเมชนสนๆ ใหรวา

มนถกคลก ดวยการลดขนาดเหลอ 75% (set size to 75%) แลวคอย 0.3 วนาท จากนนจะ

กาหนดคาในตวแปร balls ใหม โดยตองการใหเพมทละ 1 แตเมอถง 6 ใหกลบไปเรม 1 ใหม ทา

ไดโดยใชสตร (1 + (balls mod 6))

Page 150: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

150 kidsangsan.com สมชาย พฒนาชวนชม

เมอเปลยนคาในตวแปรแลว จงสงสาร number of balls changed ใหลกบอลทกลกทราบ แลวก

เปลยนชดถดไป (next costume) กอนทจะเปลยนขนาดกลบมาเทาเดม (100%)

สงเกตวา ชดตวละครมอย 6 ชด เรยงตามตวเลขดวยความตงใจ ทงนเพราะเมอใชบลอก next

costume มนจะเลอกชดถดไปตามลาดบ เมอไปถงชดสดทายแลว มนจะยอนกลบไปทชดแรก

โดยอตโนมต

Page 151: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 151

การใชโอเปอรเรเตอร mod

mod เปนการหารทเอาเศษเปนผลลพท เชน 3 mod 6 กคอ 3 หารดวย 6 ได 0 เศษ 3 ผลลพท

ของการ mod ทไดเทากบ 3 อกตวอยางหนง 8 mod 6 กคอ 8 หารดวย 6 ได 1 เศษ 2 ผลลพท

ของการ mod ทไดเทากบ 2

จากสตรการคานวณ (1 + (balls mod 6)) ทใชในโปรเจกน ทาใหการเปลยนชดเพมทละ 1 แต

เมอถงชดท 6 แลวสามารถกลบไปเรมตนท 1 ไดอกครง

เมอ balls มคาเทากบ 5, balls mod 6 กคอ 5 หารดวย 6 ได 0 เศษ 5 ผลลพทของการ mod ท

ไดเทากบ 5 เมอ balls mod 6 เทากบ 5 ดงนน

1 + (balls mod 6) = 1 + 5 = 6

แตเมอ balls มคาเทากบ 6, balls mod 6 กคอ 6 หารดวย 6 ได 1 เศษ 0 ผลลพทของการ mod

ทไดเทากบ 0 เมอ balls mod 6 เทากบ 0 ดงนน

1 + (balls mod 6) = 1 + 0 = 1 นนคอสงทตองการ

Page 152: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

152 kidsangsan.com สมชาย พฒนาชวนชม

สครปตของป มควบคมการสะทอนของลกบอล

ปกตลกบอลจะเคลอนทไปเรอยๆ เมอชนขอบเวทกจะสะทอนกบ แตเมอชนคยเปยโน การ

สะทอนของลกบอล ขนอยกบสถานะการสะทอนในตวแปร rebound ทถกกาหนดโดยปมควบคม

การสะทอน

สถานะการสะทอนมอย 2 สถานะ คอ สะทอน (rebound) จะทาใหลกบอลสะทอนกลบ หรอผาน

(through) จะทาใหลกบอลผานเลยไป สถานะปจจบนดไดจากชดตวละครน ซงปรากฎอยบนเวท

Page 153: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 153

สครปตแรกของปมควบคมการสะทอน เรมเมอผใชคลกธงเขยว และเรมตนดวยสถานะสะทอน

โดยเปลยนชดเปน rebound จากนนตงคาตวแปร rebound=1 (สถานะสะทอน)

สครปตทสองเรมเมอผใชคลกทปมน (when Rebound Button clicked) มนจะแสดงแอนเมชน

สนๆ ดวยการลดขนาดเหลอ 75% แลวคอย 0.3 วนาท

ทกครงทปมนถกคลกจากผใช กจะเปลยนสถานะสลบไปมาระหวางสถานะสะทอนกบสถานะ

ผาน ดวยการตรวจสอบสถานะการสะทอนปจจบน วาเปนสถานะผานหรอไม (rebound=0) ถา

ใชกจะเปลยน rebound เปน 1 (เปลยนเปนสถานะสะทอน) แลวเปลยนชดเปน rebound

มฉะนนแลว (else) จะเปลยน rebound เปน 0 (เปลยนเปนสถานะผาน) แลวเปลยนชดเปน

through

จากนนเปลยนขนาดของปมกลบมาเทาเดม 100% เพอจบการแสดงแอนเมชน

Page 154: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

154 kidsangsan.com สมชาย พฒนาชวนชม

ระหวางโปรแกรมทางาน ผใชสามารถเปลยนเสยงเพลงไดหลายวธ เชน เปลยนการสะทอนกลบ

ของลกบอลในตวแปร rebound เปลยนจานวนลกบอลในตวแปร balls คลกทวางบนเวท และ

สดทายเพมหรอลดความเรวของลกบอลในตวแปร speed

ผใชสามารถปรบคาตวแปรความเรว speed ไดดวยสไลเดอรบนเวท แตกอนหนานนตองทาให

ตวแปรอยในรปแบบสไลเดอร และแสดงอยบนเวทกอน โดย (1) คลกกลองหนาบลอกตวแปร

speed ในบลอกหมวดตวแปร เครองหมายถกบอกวาตวแปรนไดแสดงอยบนเวทแลว จากนน

(2) คลกขวาทตวแปรนบนเวท จะปรากฎเมนใหเลอกรปแบบการแสดง คลกเลอก slider เพอให

มนสามารถเลอนปรบคาไดดวยสไลเดอร ขณะโปรแกรมกาลงทางาน นอกจากนนสามารถตงคา

ตาสดสงสดได โดย (3) คลก set slider min and max เชนตวแปร speed ตงคาตาสดท 10 และ

คาสงสดท 20 เปนตน

Page 155: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 155

การออกแบบหนาตาโปรแกรม

การออกแบบหนาตาโปรแกรมเปนเรองสาคญทไมควรมองขาม โดยเฉพาะโปรแกรมทตองการ

โตตอบกบผใช แมเปนโปรแกรมเลกๆ แตอาจใชงานยาก ถาหนาตาโปรแกรมไมสอถงการใช

งาน กไมสามารถดงศกยภาพของโปรแกรมออกมาได ผใชมชองทางใหตดตอและโตตอบกบ

โปรแกรมไดหลายวธ เชน

ขอความบนเวท เปนการสอสารตรงไปยงผใช สวนใหญเปนคาสง หรอวธใชงาน ตวแปรเมอ

สรางแลว สามารถแสดงบนเวทได แตถาตองการใหผใชปรบเปลยนคาของมนได ขณะท

โปรแกรมทางาน ทาไดโดยแสดงตวแปรในรปแบบสไลเดอร เหมอนตวแปรความเรว (speed)

การสรางปมคาสง ทาไดโดยการสรางตวละคร ทรบการคลกเมาสจากผใช เพอใหโปรแกรม

ทางานตอบสนอง เชน เมอผใชคลกทคยเปยโนใดๆ กจะมเสยงออกมาจากคยนนๆ แตการ

สรางตวละครใหเปนปมคาสงโดยเฉพาะกม เชน ปมเพมหรอลดจานวนลกบอล และปมการ

สะทอนของลกบอล

โปรแกรมยงรบคาสงจากผใช ผานการกดคยตางๆ บนคยบอรด เชน คยตวอกษร a-z คยตวเลข

0-9 คยลกศร และคยเวนวรรค (space bar)

นอกจากนน ผใชสามารถตดตอโปรแกรมผานไมโครโฟน หรอผานอปกรณตอพวง เชน LEGO®

WeDo™

Page 156: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

156 kidsangsan.com สมชาย พฒนาชวนชม

การตอยอดโปรแกรม PianoMachine

• Scratch มเครองดนตรหลายชนดใหเลอกใช ลองเพมหรอเปลยนเครองดนตรชนดอน

• บนทกการบรรเลงเพลงเปยโน แลวเลนซาได การบนทกนนตองบนทกทงตวโนตและ

จงหวะเวลาในการเลนตวโนตทถกบนทก

• การบนทกตองสรางปมเพม เพอใหผใชคลกเมอตองการบนทก ควรใชตวแปรลสตมา

เกบบนทกตวโนตและเวลา

• การเลนซา เลนเสยงจากขอมลในลสต ขณะเลนซา ลกบอลควรหยด เพอไมใหเสยงตกน

Page 157: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 157

โปรเจก FishChomp

การทาเกมใน Scratch ไมยากอยางทคด FishChomp เปนตวอยางทดในการเรมตนการทาเกม

ใน Scratch โดยเกมนเปนเกมปลาใหญกนปลาเลก ผเลนใชเมาสนาทางปลาใหญไปกนปลาเลก

เกมนดงายจนรสกเหมอนวาจะยงไมสมบรณ เพราะปลาทองทถกกนจะออกมาใหมเรอยๆ ไมม

วนจบเกม และเกมนไมมคะแนนให ไมมขอจากดเรองเวลา อยางไรกตาม เกมนใหแนวคด

สาหรบผเรมตนในการทาเกม และยงเวนชองวางใหเราขยายเกมนตอไปไดอก

ภาพรวมของโปรเจก

เกมนมปลาทองตวเลก 3 ตวเคลอนทไปเรอยๆ ในทองทะเล ผเลนเพยงลากเมาสนาปลาตวใหญ

ไปกนเหลาปลาทอง ตวใดถกกนกจะโผลมาอกไมมวนจบ

Page 158: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

158 kidsangsan.com สมชาย พฒนาชวนชม

ตวละครและเวท

โปรเจกนมตวละครเปนปลาสองชนด คอปลาตวใหญกบปลาทองเหมอนกน 3 ตว และใบคาสง

แสดงวธการเลนเกม ซงจะคางอยทมมบนขวาของเวทตลอดเวลา เพราะมนไมมสครปตนนเอง

สครปตของตวละครและเวท

สครปตของปลาทอง

ในเกม FishChomp เหลาปลาทองจะวายนาไปมา ผเลนใชเมาสนาทางปลาตวใหญมากนปลา

ทอง แตพวกมนกกลบมาเกดใหมอยางรวดเรว แลวกถกกนอกเปนวงจรชวตในเกมน

ปลาทองมอย 3 ตว มลกษณะและพฤตกรรมเหมอนกนหมด ยกเวนทศการเคลอนททเรมตน

ตางกน เพราะฉะนนมาดสครปตของ goldfish 1 กพอ

Page 159: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 159

สครปตของปลาทองเรมเมอผเลนคลกธงเขยว ปลาทองกจะปรากฎ (show) และหนไปยงทศ 90

องศา จากนนมนจะมพฤตกรรมซาๆ ตลอด ทาใหตองอยในบลอกตลอดเวลา (forever) นนกคอ

เคลอนทไปทละนด (2 หนวย) เปลยนทศเลกนอยโดยการสมตงแต -20 ถง 20 องศา ถาชนขอบ

เวทกจะสะทอนกลบ

จากนนตรวจสอบวาสสม (สของปลาทองเอง) สมผสกบสนาเงน (สของปากปลาตวใหญ) หรอไม

ถาใชแสดงวาปลาทองถกกน มนจะสงสาร got-me ไปใหปลาตวใหญ แลวกหายตวไป (hide) รอ

อก 3 วนาท (wait) มนจะโผลขนมาใหมทตาแหนง x -200 และสมคา y ตงแต -200 ถง 200

สครปตของปลาตวใหญ

ปลาตวใหญจะเคลอนทกตอเมอผเลนขยบเมาส มนจะวายนาตามเมาส และเมอเจอปลาทอง มน

กจะกนเจาปลาทองเทานนเอง

Page 160: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

160 kidsangsan.com สมชาย พฒนาชวนชม

สครปตแรกของปลาตวใหญ เรมตนเมอผใชคลกธงเขยว มนจะเปลยนชดเปน open-mouth อา

ปากสนาเงนคอยกนปลาทอง ทงนเพราะการกนปลาทอง ตองเชควาสนาเงนสมผสสสมของปลา

ทองหรอไม จากนนมนจะคอยตามเมาสตลอดเกมในบลอกตลอดเวลาถา (forever if) โดย

ตรวจสอบวา ระยะตวมนกบเมาสหางกนเกนกวา 10 หนวยหรอไม (distance to mouse-pointer

> 10) ถาใช กจะหนไปทเมาส (point towards mouse-pointer) และเคลอนทเขาไปหา 3 หนวย

สครปตทสองเรมเมอไดรบสาร got-me จากปลาทอง ขณะทปลาทองถกกน ปลาตวใหญจะแสดง

แอนเมชนการกนดวยการเปดเสยง chomp (play sound chomp) จากนนขยบปาก 2 รอบใน

บลอกทาซา (repeat) โดยเปลยนชดปดปาก closed-mouth แลวคอย 0.3 วนาท กอนจะเปลยน

ชดเปดปาก open-mouth อกครง

Page 161: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 161

การตอยอดโปรเจก FishChomp

FishChomp เปนเกมทเขาใจไดงาย เหมาะสาหรบผทช นชอบเกม และอยากเขยนเกมตงแต

เบองตน ลองมาดวาอะไรบาง นาจะทาใหเกม สนก ทาทายมากขน

• เพมปลาทอง หรอปลาชนดอน

• ปลาทองออกมาตรงไหนกไดของเวท และออกมาใหไวขน

• ปลาตวใหญมมตในการเคลอนทมากขน เชนสามารถหมนได เคลอนทเรวขน

• มเพมอกระดบ (level 2) เพมความทาทาย

• มการควบคมเกม

• มคะแนน (score)

• มเวลาจากดในการเลนในแตละระดบ

• สอสารกบผเลน

• แสดงวธเลน และหายไประหวางการเลน

• บอกระดบ (level)

• บอกผเลนเมอจบเกม และแสดงคะแนนตางๆ ใหด

Page 162: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

162 kidsangsan.com สมชาย พฒนาชวนชม

ลงมอตอยอดเกม FishChomp

ระดบของเกม

เกมสามารถมไดหลายระดบ แตละระดบมเปาหมายของตวเอง มความนาสนใจและความทาทาย

ทแตกตางกน สงแวดลอมในเกม (ตวละครหรอภาพฉากหลง) หรอกฎของเกม ในแตละระดบ ก

อาจแตกตางกนบาง เหมอนเดมบางกได

ปกตเกมควรเพมความทาทาย ในระดบทสงขน การตอยอดนม 2 ระดบ โดยระดบแรกมเพยง

ปลาทองเหมอนกนหมด 4 ตว ผเลนเพยงไลจบกนพวกมน กนได 1 ตว ได 1 คะแนน สวนระดบ

ทสอง ปลาทองตวท 1 (มหางสนาเงน) จะมปลาสเขยวเปนเพอน คอยวายนาอยใกลๆ ถากน

ปลาทองตวท 1 จะไดโบนส 2 คะแนน สวนปลาทองตวอนได 1 คะแนนเหมอนเดม แตถากน

ปลาสเขยว จะถกหก 3 คะแนน

การเพมตวละครในเกม

การเพมปลาทองอกซกตวไมใชเรองยาก เพยงคลกขวาทตวปลาทอง เลอกทาซา (duplicate) ก

จะไดปลาทองมาอกตวหนงทเหมอนกน อยางไรกตาม ถาปลาทองยงอยระหวางการแกไข กไม

ควรทา นอกเสยจากวาปลาทองทตองการมพฤตกรรมทตางกนมาก และเพยงตองการคณสมบต

บางประการของมนมา ซงในการตอยอดครงนมทงสองแบบคอ

แบบทหนงตองการปลาทองเหมอนกนอกหนงตว โดยทาซาปลาทองตวท 3 ไดตวท 4 มา โดย

ใหทาซาเมอสครปตปลาทองตวท 3 แกไขเสรจเรยบรอยแลว

แบบทสองตองการเพอนปลาทองตวท 1 ใน level 2 เพอใหมนคอยวายนาอยใกลๆ ปลาทองตว

ท 1 แตใหมนมลกษณะคลายปลาตวใหญ (เปนลกปลาตวใหญ) ดงนนจงทาซาปลาตวใหญ แลว

มายอขนาดใหใกลเคยงกบเหลาปลาทอง แลวเอาสครปตของปลาทองมาเปนตนแบบ

Page 163: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 163

ปลาทองตวท 1 ในระดบแรกเหมอนกบปลาทองตวอนๆ จงใชชดเดม แตเพอใหผเลนแยกปลา

ทองตวท 1 ออกจากปลาทองตวอนๆ ในระดบทสอง ควรเพมชดอกหนงชดสาหรบระดบทสอง

โดยปลาทองตวท 1 จะมหางเปนสนาเงนแทน ทาไดโดยทาซาชดเดมกอน จากนนคลกปม edit

เพอแกไขดวยโปรแกรมวาดรป

Page 164: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

164 kidsangsan.com สมชาย พฒนาชวนชม

กฎของเกม

เพอเพมมตของเกม ควรแกไขเพมเตมพฤตกรรมของตวละครตางๆ ในเกมบาง เชน ปลาทอง

ควรออกมาตรงไหนของเวทกได ทาใหผเลนคาดเดาไมได ทาไดโดยเปลยนคาสม x และ y ใน

บลอกไปยง (go to x: … y: …) ใหกระจายทวเวท นนกคอ คา x อยต งแต -240 ถง 240 และคา

y อยต งแต -180 ถง 180 และเพอใหปลาทองออกมาเรวขนหลงจากถกกน ทาไดโดยลดเวลา

การคอย (wait) ลงจาก 3 มาอยท 1 วนาท

การทาใหปลาตวใหญมมตในการเคลอนทมากขน คอสามารถหมนไดเพอใหการไลจบปลาทอง

งายขน โดยการคลกเลอกปม หมนได (ปมบน) บรเวณขอมลสวนตวของปลาตวใหญ ซงจาก

เดมทาไดแคหนซายขวา (ปมกลาง) สวนการเคลอนทใหเรวขน ทาไดโดยเพมระยะการเคลอนท

(move) ใหมากขน แตถามากเกนอาจจะควบคมเมาสไมอย ดงนนเพมจาก 3 เปน 5 ใน level 1

สวนใน level 2 มเพอนปลาทองอยดวย และถากนเพอนปลาทอง จะถกหกแตม ดงนนไมควร

เพมความเรวมากนก ควรเพมจาก 3 เปน 4 กพอ

Page 165: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 165

คะแนน

การนบคะแนนระหวางเลนเกมทาใหเกมดทาทายมากขน ทาใหผเลนรความสามารถของตวเอง

และสามารถเปรยบเทยบการเลนกบผเลนคนอนๆ ไดอกดวย

การใสคะแนนบนเวท ทาไดโดยสรางตวแปรเพอเกบคะแนนขนมากอน เชน score ถาตองการ

ใหคะแนนแสดงบนเวทตลอดระหวางการเลนเกม ทาไดโดยคลกบลอกหนาตวแปรนน (จะเหน

เครองหมายถก) นอกจากนนยงสามารถปรบตาแหนงตวแปรบนเวทไดดวย โดยใชเมาสลากตว

แปรไปยงตาแหนงทตองการ ตอนออกแบบโปรแกรม

การปรบเปลยนคะแนน ขนกบกตกาทกาหนดไว นนคอ ในระดบแรก ถากนปลาทองได 1 ตว

จะได 1 คะแนน สวนระดบทสอง ถากนปลาทองตวท 1 จะได 2 คะแนน สวนปลาทองตวอนได

1 คะแนนเหมอนเดม แตถากนปลาสเขยว จะถกหก 3 คะแนน

Page 166: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

166 kidsangsan.com สมชาย พฒนาชวนชม

การจบเวลา

ถาไมมเวลาจากดในการเลนแตละระดบ กจะไมรวาเกมจะจบเมอใด ยกเวนแตวาในแตละระดบม

เงอนไขอนกาหนด หรอมเปาหมายใหทา เชน กนปลาใหได 20 ตว เปนตน การตอยอดคราวน

กาหนดใหแตละระดบมเวลาไมเทากน ระดบแรกงายหนอย ใช 20 วนาท ระดบสองยากขนมา

นดหนงเพมเวลาเปน 30 วนาท

ใน Scratch ทานาฬกาจบเวลาไดงายๆ โดยสรางตวแปร time ขนมา แลวตงคาเวลาทตองการ

ใหมน จากนนนบเวลาถอยหลงทละ 1 วนาท จนกระทงเปน 0 เชน ในระดบแรก ตงเวลาเปน 20

วนาท จากนนตรวจสอบวาตวแปร time ยงมากกวา 0 หรอไม ถาใช จบเวลา 1 วนาท ดวย

บลอก wait จากนนลดคาตวแปร time ทละ 1 ทาอยางนวนไปเรอยๆ ในบลอก forever จนกวา

time = 0 ดวยวธนจะทาใหรวาเวลาในแตละระดบหมดหรอยง ถาเวลาหมดลงแลว เกมจะดาเนน

ตอในสวน else เพอเลนเกมในระดบตอไป หรอจะแสดงผลการเลนกอนจะจบเกม

Page 167: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 167

การสอสารกบผเลน

การสอสารกบผเลนนนกสาคญ เชน ตงแตตนเกมตองบอกผเลนวาเลนอยางไร และระหวางเลน

วธการเลนนนตองหายไป มฉะนนจะรบกวนการเลน กอนเขาแตละระดบกควรบอกวาขณะนจะ

เลนในระดบใด และเมอจบเกมกควรมคะแนน หรอขอมลอนๆ ใหด เชน จานวนปลาชนดตางๆ

ทกนได

Page 168: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

168 kidsangsan.com สมชาย พฒนาชวนชม

โปรเจก Delicious Fish เปนการตอยอดโปรเจก FishChomp ทผเขยนลองทาขนมา และได

upload โปรเจกนทเวบไซต http://scratch.mit.edu/projects/kidsangsan/1889679 ผอาน

สามารถเขาไปเลนได หรอดาวนโหลดเกม มาศกษาแกไขปรบปรงเพมเตมได

Page 169: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 169

การใชงานบลอกคาสง

บลอกหมวดการเคลอนท (Motion)

เคลอนตวละครไปขางหนาหรอถอยหลง (ใสเลขคาลบ)

หมนตวละครตามเขมนาฬกา

หมนตวละครทวนเขมนาฬกา

กาหนดทศของตวละครไปยง (0 = บน, 90 = ขวา, 180 = ลาง,

-90 = ซาย)

กาหนดทศของตวละครไปยง (เมาสหรอตวละครอน)

เคลอนตวละครไปยงตาแหนง x และ y บนเวท

เคลอนตวละครไปยงตาแหนงของ (เมาสหรอตวละครอน)

เคลอนตวละครไปยงตาแหนง ดวยระยะเวลาทถกกาหนด

เปลยนตาแหนง x ของตวละคร ตามระยะทถกกาหนด

ตงคาตาแหนง x ของตวละคร ตามคาทถกกาหนด

เปลยนตาแหนง y ของตวละคร ตามระยะทถกกาหนด

ตงคาตาแหนง y ของตวละคร ตามคาทถกกาหนด

Page 170: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

170 kidsangsan.com สมชาย พฒนาชวนชม

กลบทศของตวละคร เมอตวละครชนขอบเวท

บลอกตวแปร

บลอกทมาพรอมกบกลองเลอกดานหนา ถาคลกทกลองเลอก จะแสดงคาทคนมาจากบลอกนน

บนเวท

คนคาตาแหนง x ของตวละคร (-240 to 240)

คนคาตาแหนง y ของตวละคร (-180 to 180)

คนคาทศทางการเคลอนทของตวละคร

บลอกสาหรบมอเตอร

เปดมอเตอรเปนเวลาตามทกาหนด

เปดมอเตอร

ปดมอเตอร

ตงคากาลงของมอเตอร แลวเปดมอเตอร (คากาลงของมอเตอรอย

ตงแต 0 ถง 100)

ตงคาหรอเปลยนทศการหมนของมอเตอร โดยไมตองเปดมอเตอร

(this way = ตามเขมนาฬกา, that way = ทวนเขมนาฬกา,

reverse = เปลยนทศการหมน)

Page 171: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 171

บลอกหมวดรปราง (Looks)

เปลยนหนาตาตวละคร ดวยการเปลยนชดละคร

เปลยนชดตวละครถดไป ในรายการชดตวละคร (ถาถงชด

สดทายในรายการ จะกลบไปเรมทชดแรกใหม)

เปลยนหนาตาเวท ดวยการเปลยนภาพฉากหลง

เปลยนภาพฉากหลงถดไป ในรายการภาพฉากหลง (ถาถงชด

สดทายในรายการ จะกลบไปเรมทชดแรกใหม)

บลอกแสดงความคดหรอพด

แสดงลกโปงคาพดของตวละคร ในระยะเวลาทถกกาหนด

แสดงลกโปงคาพดของตวละคร (ลบลกโปงคาพดไดดวยการรน

บลอกนอกครงโดยไมใสตวหนงสอ)

แสดงลกโปงความคดของตวละคร ในระยะเวลาทถกกาหนด

แสดงลกโปงความคดของตวละคร

Page 172: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

172 kidsangsan.com สมชาย พฒนาชวนชม

บลอกเลเยอร

ยายตวละครไปยงดานหนาของตวละครอนๆ

ยายตวละครกลบไปยงเลเยอรทถกกาหนด เพอวามนจะสามารถ

ซอนอยดานหลงตวละครอนๆ ได

บลอกแอฟเฟค

เปลยนเอฟเฟคบนตวละคร ตามคาทถกกาหนด (ใชรายการ

เลอกแบบดงลงเพอเลอกเอฟเฟค)

ตงคาเอฟเฟคตามคาทกาหนด (คาเอฟเฟคอยต งแต -100 ถง

100 คา 0 เปนคาปกตทไมมเอฟเฟค บางเอฟเฟคคาลบกบคา

บวกใหผลเหมอนกน)

ลางเอฟเฟคทงหมดของตวละคร

เปลยนขนาดของตวละคร ดวยคาทถกกาหนด

ตงคาขนาดของตวละครเปน % ของขนาดเรมตน

ทาใหตวละครปรากฏบนเวท

ทาใหตวละครหายไปจากเวท (เมอตวละครหายไป ตวละครอนๆ

จะไมสามารถตรวจจบดวยการใชบลอกสมผสได)

Page 173: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 173

บลอกตวแปร

บลอกทมาพรอมกบกลองเลอกดานหนา ถาคลกทกลองเลอกจะแสดงคาทคนมาจากบลอกนน

บนเวท

คนหมายเลขชดละครปจจบน

คนหมายเลขภาพฉากหลงปจจบน

คนคาขนาดของตวละครเปน % ของขนาดเรมตน

บลอกหมวดเสยง (Sound)

เรมเปดเสยงจากรายการเลอกแบบดงลง แลวรนบลอกถดไปแม

เสยงยงเลนอย

เปดเสยงแลวรอจนเสยงหยด กอนทจะรนบลอกถดไป

ปดเสยงทงหมด

เลนเสยงกลองจากรายการเลอกแบบดงลง ดวยจงหวะทกาหนด

เลนโนตดนตรตามจงหวะทกาหนด (ตวเลขยงสง จะไดเสยงสง

ตาม)

หยดพกเสยงตามจงหวะทกาหนด

เลอกชนดเครองดนตรใหตวละคร สาหรบใชในโนตบลอก (แตละ

ตวละครมเครองดนตรของตวเอง)

Page 174: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

174 kidsangsan.com สมชาย พฒนาชวนชม

ปรบระดบเสยงของตวละครตามคาทกาหนด ระดบเสยงอย

ระหวาง 0 ถง 100

ตงคาระดบเสยงของตวละคร ดวยคาทกาหนด

เปลยนจงหวะเสยงของตวละคร ดวยคาทกาหนด

ตงคาจงหวะเสยงของตวละคร ดวยคาทกาหนด

บลอกตวแปร

บลอกทมาพรอมกบกลองเลอกดานหนา ถาคลกทกลองเลอกจะแสดงคาทคนมาจากบลอกนน

บนเวท

คนคาระดบเสยงของตวละคร

คนคาจงหวะเสยงของตวละคร

Page 175: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 175

บลอกหมวดปากกา (Pen)

ลบรอยวาดเขยนบนเวท จากการใชปากกาหรอแสตมป

จรดปากกาของตวละคร เพอวาดเขยนขณะทมนเคลอนท

ยกปากกาของตวละครขน เพอไมใหวาดเขยนขณะทมนเคลอนท

ตงคาสใหปากกา ตามคาสจากตวเลอกส ซงจะทาใหระดบสเปลยน

ดวย

เปลยนคาส ตามคาทกาหนด

ตงคาส ตามคาทกาหนด (คาระหวาง 0 ถง 200 คอสในวงลอของ

แถบสรง เชน pen_color = 0 คอสแดง, pen_color = 100 คอสนา

เงน)

เปลยนระดบส ตามคาทกาหนด

ตงคาระดบสตามคาทกาหนด (pen_shade = 0 คอคอนขางมด

pen_shade = 100 คอคอนขางสวาง คาทถกตงเรมแรก คอ 50

เมอใชตวเลอกส จะไดระดบสจากสทเลอกมาดวย)

เปลยนขนาดของเสนปากกา ตามคาทกาหนด

ตงคาขนาดของเสนปากกา ตามคาทกาหนด

ประทบภาพของตวละครบนเวท

Page 176: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

176 kidsangsan.com สมชาย พฒนาชวนชม

บลอกหมวดควบคม (Control)

บลอกเรมตนทางาน

รนสครปต เมอธงเขยวถกคลก

รนสครปต เมอคยทกาหนดไวถกกด

รนสครปต เมอตวละครถกคลก

รนสครปต เมอไดรบสารทสนใจ

บลอกทาซา

รนบลอกทอยภายใน ซาๆ ไปตลอด

รนบลอกทอยภายใน ตามจานวนครงทกาหนด

บลอกเงอนไข

ตรวจสอบเงอนไข ถาเปนจรง ทางานบลอกทอยภายใน

ตรวจสองเงอนไข ถาเปนจรงทางานบลอกทอยภายในสวนแรก (ใต

if) ถาเปนเทจทางานบลอกทอยภายในสวนทสอง (ใต else)

Page 177: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 177

บลอกทาซาแบบมเงอนไข

ตรวจสอบเงอนไขตลอดเวลาวาเปนจรงหรอไม ถาเปนจรง ทางาน

บลอกทอยภายใน

ตรวจสอบเงอนไขตลอดเวลา ถายงเปนเทจ ทางานซาบลอกทอย

ภายใน ถาเปนจรง ทางานบลอกถดไป

บลอกสงสาร

สงกระจายสารถงทกตวละครและเวท จากนนทางานบลอกถดไป

โดยไมตองรอสครปตทถกกระตนจากสารน

สงกระจายสารถงทกตวละครและเวท กระตนสครปตทรบสารนให

ทางาน รอจนกระทงสครปตนนๆ ทางานจนเสรจ แลวจงทางาน

บลอกถดไป

บลอกหยดการทางาน

หยดรอคอยตามเวลาทกาหนด จากนนทางานบลอกถดไป

หยดรอคอยจนกระทงเงอนไขเปนจรง จงจะทางานบลอกถดไป

หยดทางานสครปต

หยดทางานสครปตทงหมดของทกตวละคร

Page 178: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

178 kidsangsan.com สมชาย พฒนาชวนชม

บลอกหมวดกาลงรบร (Sensing)

คนคาจรง ถาปมเมาสถกกด

คนคาจรง ถาคยทกาหนดถกกด

คนคาจรง ถาตวละครสมผสกบตวละครทกาหนด ขอบเวท หรอตว

ชเมาส (เลอกจากรายการตวเลอกแบบดงลง)

คนคาจรง ถาตวละครสมผสกบสทกาหนด (คลกทแถบส จากนน

ใชหลอดหยดเลอกส)

คนคาจรง ถาสแรกทอยในตวละครสมผสกบสทสองทอยในฉาก

หลงหรอตวละครอน

คนคาตาแหนง x ของตวชเมาส

คนคาตาแหนง y ของตวชเมาส

คนคาระยะทาง ระหวางตวละครกบตวชเมาสหรอตวละครอน

คนคาสมบตของตวละครอน

ตงคาเรมตนใหมใหนาฬกาจบเวลาทศนยวนาท

Page 179: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 179

บลอกถามตอบ

ถามคาถามบนเวท และรบคาตอบจากคยบอรดเกบไวในตวแปร

ทาใหโปรแกรมตองหยดคอย จนกวาผใชกดคย Enter หรอคลก

เครองหมายถก

คนคาคาตอบทอยในตวแปร answer ซงทกตวละครสามารถนาไปใชได

ถาคลกทกลองดานหนา จะแสดงคาทคนมาจากบลอกบนเวท

บลอกตวแปร

บลอกทมาพรอมกบกลองเลอกดานหนา ถาคลกทกลองเลอกจะแสดงคาทคนมาจากบลอกนน

บนเวท

คนคาเวลาเปนวนาท (นาฬกาจบเวลาจะทางานตลอดเวลา)

คนคาระดบเสยง (จาก 1 ถง 100) ทไมโครโพนของคอมพวเตอร

ตรวจวดได

คนคาจรง ถาไมโครโฟนของคอมพวเตอรตรวจจบระดบเสยงท

มากกวา 30 (ในสเกล 1 ถง 100)

คนคาจากตวรบรทกาหนดไว จะใชบลอกนไดตองตออปกรณรบร

กบคอมพวเตอรกอน เชน บอรดตวรบรของ Scratch

(http://www.playfulinvention.com/picoboard.html) หรอ LEGO®

WeDo™ (http://www.legoeducation.com).

คนคาจรง ถาตวรบรทระบถกกด จะใชบลอกนไดตองมบอรดตวรบ

รตอกบคอมพวเตอรกอน

(http://www.playfulinvention.com/picoboard.html)

Page 180: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

180 kidsangsan.com สมชาย พฒนาชวนชม

บลอกหมวดโอเปอรเรเตอร (Operators)

บลอกจดการขอความ (สตรง)

ตอขอความทงสองขอความเขาดวยกน

คนคาจานวนตวอกษรในขอความ

คนตวอกษรในขอความ ณ ตาแหนงทระบ

บลอกจดการตวเลข

บวกตวเลขสองตว

ลบตวเลขแรก ดวยตวเลขทสอง

คณตวเลขสองตว

หารตวเลขแรก ดวยตวเลขทสอง

คนเศษเหลอ จากการหารตวเลขแรก ดวยตวเลขทสอง

คนคาจานวนเตม ทใกลเคยงทสดกบตวเลขทระบ

สมคาตวเลข ตงแตคาแรกถงคาทสอง

คนผลลพธทไดจากฟงกชนทถกเลอก (abs, sqrt, sin, cos, tan, asin,

acos, atan, ln, log, e^, 10^) กบตวเลขทกาหนดไว

Page 181: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 181

บลอกจดการตรรกะ

คนคาจรง ถาคาตวเลขแรกนอยกวาคาตวเลขทสอง

คนคาจรง ถาคาตวเลขทงคมคาเทากน

คนคาจรง ถาคาตวเลขแรกมากกวาคาตวเลขทสอง

คนคาจรง ถาเงอนไขทงคเปนจรง คนคาเทจ ถาเงอนไขใดเงอนไข

หนงเปนเทจ

คนคาจรง ถาเงอนไขใดเงอนไขหนงเปนจรง คนคาเทจ ถาเงอนไขทง

คเปนเทจ

คนคาจรง ถาเงอนไขเปนเทจ คนคาเทจ ถาเงอนไขเปนจรง

Page 182: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

182 kidsangsan.com สมชาย พฒนาชวนชม

บลอกหมวดตวแปร (Variables)

บลอกตวแปร

คลกปมเพอสรางตวแปร พรอมทงกาหนดชอใหตวแปรใหม และ

ยงสามารถระบไดวา จะใหทกตวละครใชได (global) หรอใชกบ

เฉพาะตวละคร (local) ทสรางตวแปรน จากนนบลอกตวแปร

ใหมจะปรากฎ

ลบบลอกทงหมด ทเกยวของกบตวแปร

คนคาทเกบไวในตวแปร (score ใน ณ ทน)

เปลยนคาในตวแปรตามปรมาณทกาหนด ถามตวแปรมากกวา

หนงตว ใชรายการเลอกแบบดงลงเพอเลอกตวแปรกอน

ตงคาตวแปร ดวยคาทกาหนด

แสดงคาตวแปรบนเวท

ซอนคาตวแปร ไมใหแสดงบนเวท

Page 183: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 183

บลอกตวแปรลสต

คลกปมเพอสรางรายการลสต พรอมทงกาหนดชอใหลสต

ใหม และยงสามารถระบไดวา จะใหทกตวละครใชได

(global) หรอใชกบเฉพาะตวละคร (local) ทสรางตวแปรน

จากนนบลอกลสตใหมจะปรากฎ

ลบบลอกทงหมดทเกยวของกบลสต

คนคาทกรายการทอยในลสต (โดยทแตละรายการจะถก

แยกดวยชองวาง อยางไรกตาม ถาแตละรายการเปน

ตวอกษรเดยวหรอตวเลขโดด ชองวางจะถกละไว)

ลบหนงรายการหรอรายการทงหมดจากลสต โดยสามารถ

ระบตาแหนงรายการทจะลบได จากรายการเลอกแบบดง

ลง หรอจะพมพตวเลขตาแหนงโดยตรง เลอก last เพอลบ

รายการทายสดของลสต เลอก all เพอลบรายการทงหมด

ในลสต การลบรายการจะลดขนาดของลสตลง

แทรกรายการไปยงตาแหนงทระบในลสต โดยสามารถระบ

ตาแหนงรายการได จากรายการเลอกแบบดงลง หรอจะ

พมพตวเลขตาแหนงโดยตรง เลอก any เพอแทรกรายการ

ณ ตาแหนงทไดจากการสม เลอก last เพมรายการท

ทายสดของลสต การแทรกรายการจะเพมขนาดของลสต

แทนทรายการในลสตดวยคาทกาหนด โดยสามารถระบ

ตาแหนงรายการได จากรายการเลอกแบบดงลง หรอพมพ

ตวเลขตาแหนงโดยตรง เลอก any เพอแทนทรายการ ณ

ตาแหนงทไดจากการสม ขนาดของลสตไมเปลยนแปลง

จากการแทนทรายการ

Page 184: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

184 kidsangsan.com สมชาย พฒนาชวนชม

เพมรายการทกาหนดตอทายลสต โดยทรายการสามารถ

เปนตวเลขหรอขอความกได

คนคาในรายการ ณ ตาแหนงทระบในลสต โดยสามารถ

ระบตาแหนงรายการได จากรายการเลอกแบบดงลง หรอ

พมพตวเลขตาแหนงโดยตรง เลอก any เพอคนคาใน

รายการ ณ ตาแหนงทไดจากการสม

คนคาจานวนรายการทงหมดในลสต (ขนาดของลสต)

คนคาจรง ถาลสตมคาในรายการกบคาทกาหนดไว เหมอน

ตรงกนทงหมด

หมายเหต บลอกทมาพรอมกบกลองเลอกดานหนา ถาคลกทกลองเลอกจะแสดงคาทคนมาจาก

บลอกนนบนเวท

Page 185: สอนเด็กให้คิด สอนศิษย์ให้ Scratch · 2019-04-25 · สอนเด็กให้คิด สอนศิษย์ให้ Scratch

Scratch การเขยนโปรแกรมสาหรบเดก 185

แหลงอางอง

ผเขยนไดเขยนบทความลงในบลอกคดสรางสรรค http://kidsangsan.com/ ของผเขยนเอง ซง

เกยวกบความคดสรางสรรค การศกษา และการเขยนโปรแกรม โดยเรมตนเขยนเกยวกบ

โปรแกรม Scratch อยางจรงจงกอน เพอเปนแหลงเรยนร สาหรบการเขยนโปรแกรมสาหรบ

เดกๆ จากนนนามารวบรวม และเรยบเรยงใหมอกครงในหนงสอเลมน

ขอมลทใชในหนงสอเลมนยงมแหลงอางองหลกๆ จากเวบไซต Scratch http://scratch.mit.edu/

คมอการใชงาน Scratch http://info.scratch.mit.edu/Support/Reference_Guide_1.4 และโปร

เจกทใชในหนงสอเลมน เปนโปรเจกตวอยางทมาพรอมกบโปรแกรม Scratch v1.4