กัญญาภัค ม4-8 เลขที่ 30
-
Upload
muaykanyapak -
Category
Education
-
view
169 -
download
4
Transcript of กัญญาภัค ม4-8 เลขที่ 30
สอนเดกใหคด
สอนศษยให
Scratch
การเขยนโปรแกรมสาหรบเดก เวอรชน 1.0 26.3.2555
สมชาย พฒนาชวนชม
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.
Scratch การเขยนโปรแกรมสาหรบเดก 3
บทนา
ทาไมตองสงเสรมใหเดกหดเขยนโปรแกรม
เปนททราบกนดวา ในปจจบนนคอมพวเตอรมบทบาทอยางมากในชวตประจาวนของเรา อกทง
เทคโนโลยสารสนเทศและการสอสารยงชวยสงเสรมความกาวหนาอยางมาก ในศาสตรทกแขนง
และสาขาอาชพ สงผลใหในศตวรรษท 21 มความตองการเพมศกยภาพของเดก ใหมความรดาน
คอมพวเตอรและเทคโนโลยสงขน และไมควรเปนผใชเพยงอยางเดยว แตตองสามารถใช
ความคดสรางสรรคเพอสรางผลงานใหมๆ ออกมาไดดวย
การฝกเขยนโปรแกรมเปนเครองมอสาคญทใชสงเสรมศกยภาพในการแกปญหา ดวย
กระบวนการคดวเคราะห คดอยางเปนระบบ และคดสรางสรรค ทชวยใหผเรยนแสดงออกทาง
ความคด ผานไปยงโปรแกรมผลงานทสรางขน แลวสอสารไปยงผใชโปรแกรมเหลานน
ในนานาประเทศ ตลอดหลายทศวรรษทผานมามความพยายามอยางตอเนอง ทจะสงเสรมการ
เขยนโปรแกรมใหกบเดกๆ แตสวนใหญยงไมบรรลเปาหมาย เนองจากโปรแกรมภาษาทใช
ยงคงซบซอนเกนความสามารถของผเรยน อยางไรกตามงานวจยในเรองโปรแกรมภาษาท
เหมาะสมกบเดก หรอผทไมมประสบการณการเขยนโปรแกรมมากอน ยงดาเนนมาตลอด และ
ในชวง 4-5 ปทผานมา โปรแกรมภาษา Scratch จากทมงานวจย Media Lab MIT ไดรบการ
เผยแพร และเปนทยอมรบอยางกวางขวาง ดวยความงายของโปรแกรมภาษา และเนนการเขยน
โปรแกรมผานสอหลากหลายชนด ทาใหเดกๆ สนกสนานและสนใจกบการเรยนรไดอยาง
ยาวนาน
4 kidsangsan.com สมชาย พฒนาชวนชม
เดกไดอะไรจากการเขยนโปรแกรม
กระบวนการเขยนโปรแกรม สงเสรมใหเดกใชความคดวเคราะห คดอยางเปนระบบ คดเชง
ตรรกะ และคดสรางสรรค เพอแกปญหาทางคอมพวเตอร ดวยการสรางโปรแกรมผลงาน ซงเรม
จากการพฒนาทางความคด ถายทอดความคดสการลงมอปฏบตอยางเปนขนตอน แกไขปญหา
เฉพาะหนาเมอมอปสรรค และเมอทากระบวนการนซาๆ กจะเกดความชานาญและความมนใจ
ในแนวคดและความสามารถของตวเอง
การนาเสนอผลงานใหผอนไดทดลองใชงาน พรอมเปดโอกาสรบฟงคาวจารณ ขอสงสย และ
ขอเสนอแนะ เปนการเพมทกษะการฟงและการยอมรบ การใชเหตผลในการอธบาย และยง
สามารถนาคาแนะนามาปรบปรงแกไขผลงานตวเองใหดยงขนได
การแลกเปลยนผลงานและความคดเหนกบผอน ทาใหผเรยนไดมมมอง ประสบการณ และ
เทคนคการเขยนโปรแกรมใหมๆ สามารถนามาตอยอดเชอมโยงกบผลงานตวเองได และยงทา
ใหผเรยนเขาใจในสงทตวเองไดเรยนรมา และสงใดบางทตองเรยนรเพมเตม
เมอผเรยนมพนฐานการเขยนโปรแกรมแลว การทางานเปนทมเพอแกปญหาทใหญขน เปนการ
สงเสรมทกษะการบรหารและการวางแผนเพอแบงงานกนทาภายในกลม และทกษะการสอสาร
ภายในกลมซงสาคญมากในการทางานใหสาเรจตามเปาหมาย
การสรางผลงานยงสามารถเชอมโยงการใชความรในศาสตรอนๆ ผานผลงานทหลากหลาย เชน
การจาลองทางวทยาศาสตร การเลาเรองแอนเมชน การแสดงผลงานศลปะและงานดนตร
แมกระทงเกมสงเสรมการเรยนร เปนตน การสรางผลงานเปนการเรยนรแบบผสมผสานแบบ
หนง ทจะทาใหเดกมความสนใจและความเขาใจในศาสตรทเชอมโยง ในเชงลกมากยงขน
Scratch การเขยนโปรแกรมสาหรบเดก 5
ทาไมตองใช Scratch
โปรแกรม Scratch เปนทงเครองมอและโปรแกรมภาษา พฒนาโดยทมงาน Media Lab MIT ม
กลมเปาหมายเปนเดกๆ หรอผเรมตนหดเขยนโปรแกรม วตถประสงคของทมพฒนา คอการ
สงเสรมผเรยนใหใชความคดสรางสรรค ผานการใชสอตางๆ ไมวาจะเปนขอความ ภาพ เสยง
หรอ ภาพเคลอนไหว ดวยเครองมอทไมซบซอน และมาพรอมกบตวโปรแกรม Scratch เพอ
สรางโปรเจกตางๆ ตามจนตนการของผเรยน อาทเชน การเลาเรอง การสรางแอนเมชน การ
จาลอง แมกระทงการเขยนเกมกทาได
Scratch เหมาะสาหรบผเรมตนในการเขยนโปรแกรม เนองจากวธการเขยนโปรแกรม ทาไดโดย
การตอบลอกคาสงเพอสรางโปรแกรมสครปต คลายกบการตอเลโก บลอกทตอดวยกนไดเทานน
ทจะอนญาตใหตอกนได การใสขอมลในบลอกกมการตรวจเชคเพอปองกนการใสขอมลผดพลาด
ทาใหไมเกดขอผดพลาดในการเขยนโปรแกรม การเขยนโปรแกรมจงเปนเรองงาย ทาใหผเรยน
สนใจเรยนร ออกแบบ และสรางโปรเจกตางๆ อยางสนกสนาน ดวยความคดสรางสรรคและ
จนตนาการ
การฝกเขยนโปรแกรมภาษา Scratch ยงใชแนวคด หลกการเขยนโปรแกรม และแนวทางปฏบต
ในการพฒนาโปรแกรม เชนเดยวกบทใชในโปรแกรมภาษาอนๆ จงเปนการปพนฐานและเตรยม
ความพรอม ในการเรยนคอมพวเตอรระดบตอไปทซบซอนยงขน
ความคดสรางสรรคเปนกระบวนการทางสงคม ดงนนทมพฒนา Scratch ไดสรางเวบไซต
http://scratch.mit.edu เปนเครอคายชมชนผสนใจใน Scratch ทมผใชงานอยทวโลก เพอเปน
แหลงความรขอมลขาวสาร เปนทแลกเปลยนโปรเจกผลงาน แลกเปลยนความคดเหน และ
มมมองใหมๆ ในเครอขายชมชน
ถงแม Scratch จะถกออกแบบมาสาหรบเดก แตศกยภาพของมนกสงพอทผใหญ โดยเฉพาะคร
สามารถเรยนรและใช Scratch ไดอยางหลากหลาย โดยเฉพาะเปนเครองมอสงเสรมการสอน
อยางสรางสรรคได เชน ออกแบบโจทยทดสอบทไมนาเบอ สรางแบบจาลองเพอเพมความเขาใจ
หรอทาสอการสอนในวชาตางๆ เปนตน
6 kidsangsan.com สมชาย พฒนาชวนชม
ความคาดหวงเมอเดกไดเรยนร Scratch จากหนงสอเลมน
การเขยนโปรแกรมภาษา Scratch สามารถเพมเตมทกษะและความร ใหกบผเรยน ดาน
คอมพวเตอร เทคโนโลยสารสนเทศ และการสอสาร เพอเตรยมความพรอมสาหรบการเรยนใน
ระดบทสงขน ซงผเรยนตองเรยนรเชงลก ตองมกระบวนการคดอยางสรางสรรค เปนผสราง
มากกวาเปนผใชเพยงอยางเดยว
การเขยนโปรแกรมเปนกจกรรม ทสงเสรมการใชความคดวเคราะหอยางเปนเหตเปนผล และคด
อยางเปนระบบ เพอแกโจทยปญหาทซบซอน สงเสรมการใชความคดสรางสรรค และ
จนตนาการ ในการออกแบบและการสรางโปรแกรมผลงาน นอกจากนนการนาเสนอผลงานและ
การแลกเปลยนความคดเหนระหวางผเรยน ยงเปนการเพมพนความร ประสบการณ และ
มมมองใหมๆ รวมทงทกษะทใชในการสอสารกบผอนดวย
การสรางโปรแกรมผลงาน เปนการฝกผเรยนใหเลอกใชสอทมอยหลากหลายไดอยางเหมาะสม
สามารถเชอมโยงความรในศาสตรอนๆ เขากบโปรแกรมผลงาน ในลกษณะของสอรปแบบผสม
ทาใหเพมมตและขดความสามารถในการเรยนการสอนไดเปนอยางด
Scratch การเขยนโปรแกรมสาหรบเดก 7
อานหนงสอเลมนอยางไร
หนงสอแบงออกเปนสามสวนหลกๆ สวนแรกแนะนาตวโปรแกรม Scratch และการใชงาน
เครองมอตางๆ สวนทสองแนะนาวธการเขยนโปรแกรมภาษา Scratch แนวคดและหลกการ
เขยนโปรแกรม สวนทสามเรยนรเทคนคการเขยนโปรแกรมแบบตางๆ จากโปรเจกทมาพรอม
กบโปรแกรม Scratch โดยแตละโปรเจกทถกเลอกมาในแตละหมวด เปนตวอยางเพอใหผเรยน
ไดศกษา และสามารถศกษาตวอยางทเหลอเพมเตมไดดวยตนเอง
การฝกเขยนโปรแกรมผานโปรเจก ผเรยนควรศกษาทาความเขาใจภาพรวมของโปรเจก เขาถง
ความสมพนธระหวางตวละครตางๆกบเวท เรยนรการใชบลอกคาสงเพอทางานใหไดตาม
เปาหมาย เมอมความเขาใจดแลว ผเรยนควรตอยอดโปรเจก หาไอเดยใหมๆ ใสเขาไปแลว
เขยนโปรแกรมเพมเตม
การอานแบบเรยงลาดบ เหมาะสาหรบผทไมมประสบการณการเขยนโปรแกรมมากอนเลย สวน
คนทมประสบการณการเขยนโปรแกรมมาบาง อาจอานเรวๆ ในสวนแรกเพอทาความรจกกบ
โปรแกรม Scratch กอน จากนนเรยนรเทคนคตางๆ ในการเขยนโปรแกรมภาษา 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
Scratch การเขยนโปรแกรมสาหรบเดก 9
โปรแกรม Scratch
หนาตาของโปรแกรม Scratch
กอนอนมาทาความรจกหนาตาโปรแกรม Scratch กนกอน โปรแกรม Scratch นนเตมไปดวย
สสนสวยงาม โดยมเวทสาหรบการแสดงจากตวละครตางๆ ซงแตละตวละครรวมทงเวทเอง ตาง
กมบทบาทหนาทของตวเองทถกเขยนไวในสครปต สครปตสรางไดดวยการเขยนโปรแกรม ท
สรางจากบลอกคาสงในหมวดตางๆ นามาประกอบเรยงกนเขาเปนกลมๆ
10 kidsangsan.com สมชาย พฒนาชวนชม
องคประกอบหลกๆ ในโปรแกรม Scratch จากรปสามารถแบงออกเปนสดสวนไดดงน
1. ทลบารและเมนบาร
2. เวทสาหรบตวละคร
3. รายการตวละครและเวท
4. ขอมลของเวทหรอตวละครทถกเลอก
5. พนทสาหรบเขยนโปรแกรมสครปต ชดตวละคร (ฉากหลงเวท) และเสยงประกอบ ของ
เวทหรอตวละครทถกเลอก
6. บลอกคาสงหมวดตางๆ ซงแยกตามสแตกตางกน
7. บลอกคาสงตางๆ ในหมวดทถกเลอก
Scratch การเขยนโปรแกรมสาหรบเดก 11
ทลบารและเมนบาร
เนองจากความตองการให Scratch ใชงานงาย ไมซบซอน ทลบารจงมไดหลายแหงตามความ
เหมาะสม รวมทงอยรวมกบเมนบารดวย
ทลบาร
ทลบารประกอบไปดวย ปมตางๆ สาหรบงานทใชบอยๆ ทาใหสะดวกในการใชงาน เพยงคลกท
ปมเมอตองการทางานนนๆ
การบนทกโปรเจกปจจบน ทาไดอกวธ คอเลอกเมน File คลกเลอก Save
การแชรโปรเจกไปยงเวบไซต Scratch ทาไดอกวธ คอเลอกเมน Share คลกเลอก Share This
Project Online…
12 kidsangsan.com สมชาย พฒนาชวนชม
การเปลยนภาษา
สาหรบคนทไมถนดภาษาองกฤษ Scratch รองรบภาษาอนๆ ไดหลายภาษา รวมทงภาษาไทย
ดวย วธการเปลยนภาษาทาไดโดย คลกปมลกโลก จะเหนรายการภาษาตางๆ ใหเลอก
ถาไมพบภาษาไทย หรอภาษาอนทตองการ ใหคลก more... เพอดภาษาอนๆ เพมเตม คลก
เลอก “ไทย” เพอเลอกภาษาไทย
Scratch การเขยนโปรแกรมสาหรบเดก 13
หนาตาโปรแกรมจะเปลยนเปนภาษาไทยเกอบทงหมด ยกเวนชอและขอความทเขยนเปน
ภาษาองกฤษตงแตแรก
14 kidsangsan.com สมชาย พฒนาชวนชม
การใชเครองมอ
คลกเลอกเครองมอทตองการ ตวชเมาสจะเปลยนเปนรปของเครองมอนน จากนนสามารถคลก
บนตวละคร ชดแตงกาย เสยง บลอกคาสง หรอสครปต ทรองรบเครองมอนนๆ
ถาตองการยกเลกการใชเครองมอ ใหคลกพนทอนๆ ของหนาจอคอมพวเตอร ทไมใช ตวละคร
ชดแตงกาย เสยง บลอกคาสง หรอสครปต
Scratch การเขยนโปรแกรมสาหรบเดก 15
โหมดของเวท
ปมปรบเปลยนโหมดของเวท อยมมบนขวาของโปรแกรม สามารถเลอกเปลยนใหเหมาะสมกบ
งานทกาลงทาอย
โหมดการนาเสนอ (Presentation mode) คลกปมนเมอตองการนาเสนอโปรเจกเตมหนา
จอคอมพวเตอร ถาตองการออกจากโหมดการนาเสนอ กดคย Esc
โหมดการด (View mode) เหมาะสาหรบตอนออกแบบและเขยนโปรแกรมสครปต พนทสขาว
แสดงขนาดของเวท คลกปมระหวางสองปมน เพอสลบระหวางเวทเลกกบเวทใหญ คลกปมแรก
เลอกเวทเลก เพอใหไดพนทในการเขยนสครปตมากขน คลกปมทสองเลอกเวทใหญ เพอดการ
ทางานบนเวทไดชดเจนยงขน ปมทถกเลอกปจจบนจะมกรอบสเทาเขมลอมอย (ปมเวทเลก)
16 kidsangsan.com สมชาย พฒนาชวนชม
เมนบาร
เมนบารแบงการทางานตางๆ ของ Scratch เปนหมวดหม อยรวมกบปมเครองมอบางสวน
เมน File
ในเมน File มเมนยอย ใชจดการกบโปรเจก Scratch ไดหลายอยาง โดยคลกเลอก
• New สรางโปรเจกใหม
• Open… เปดโปรเจกเกา
• Save บนทกโปรเจกปจจบน
• Save As… บนทกโปรเจกปจจบนในชอใหม
• Import Project… นาเขาตวละครและฉากเวทจากโปรเจกอนๆ มารวมกบโปรเจก
ปจจบน
• Export Sprite… สงออกไฟลของตวละครทถกเลอกอย เพอใชในโปรเจกอน
• Project Notes… เขยนอธบายเกยวกบโปรเจก เชนคาสงในการใชงานโปรเจก
• Quit ออกจากโปรแกรม Scratch
Scratch การเขยนโปรแกรมสาหรบเดก 17
เมน Edit
ในเมน Edit มเมนยอยดงน
• Undelete ก บลอก สครปต ตวละคร ชดละคร หรอเสยง กลบมาจากทถกลบออกไป
• Start Single Stepping แสดงการทางานทละขน แตละบลอกทกาลงทางานจะถกไฮไลท
มประโยชนในการหาขอผดพลาดของโปรแกรม และชวยใหนกเขยนโปรแกรมมอใหม
เขาใจลาดบขนตอนการทางานของโปรแกรม
• Set Single Stepping... ใชกาหนดความเรวการทางานใน 1 ขนตอนของโปรแกรม
• Compress Sounds... บบอดขอมลเสยงเพอลดขนาดของไฟลโปรเจก แตการบบอด
อาจลดคณภาพของเสยง
• Compress Images... บบอดขอมลภาพเพอลดขนาดของไฟลโปรเจก แตการบบอดอาจ
ลดคณภาพของภาพ
• Show Motor Blocks เพมบลอกมอเตอรในบลอกหมวดการเคลอนท สามารถใชบลอก
มอเตอรรวมกบ LEGO® Education WeDo ได เพอควบคมการทางานมอเตอร ท
เชอมตอกบคอมพวเตอร
18 kidsangsan.com สมชาย พฒนาชวนชม
เมน Share
ในเมน Share มเมนยอยดงน
• Share This Project Online… สาหรบแชรโปรเจกปจจบนไปยงเวบไซตของ Scratch
• Go To Scratch Website… ไปยงเวบไซตของ Scratch (scratch.mit.edu)
เวบไซต Scratch มขอมลทนาสนใจหลายๆ อยางเกยวกบ Scratch สามารถดาวนโหลด
โปรแกรม Scratch ไดทน รวมทงโปรเจกทผอ นแชรไวมากมาย
Scratch การเขยนโปรแกรมสาหรบเดก 19
การแชรโปรเจก
ถาตองการแชรโปรเจกปจจบนทกาลงสรางอยไปยงเวบไซตของ Scratch คลกเมน Share เลอก
Share This Project Online…
การแชรโปรเจก ตองม Login และ Password ถายงไมม สมครไดโดยคลก Create account ซง
จะเปดเวบไซต Scratch ออกมา คลก Sign up เพอสมครสมาชก จากนนใสขอมลตางๆ ท
เกยวกบโปรเจก เชน ชอโปรเจก (Project name) รายละเอยดของโปรเจก (Project notes) และ
สามารถคลกกลองหนา Compress sounds and images เพอบบอดขอมลไฟลเสยงและไฟล
รปภาพใหมขนาดเลกลง
20 kidsangsan.com สมชาย พฒนาชวนชม
เมน Help
เมน Help ใชสาหรบขอความชวยเหลอในการใชงาน Scratch มเมนยอยดงน
• Help page... นาไปสเวบไซตของ Scratch ทมคมอ เอกสารอางอง บทเรยน และ
คาถามคาตอบทพบบอยๆ
• Help screens... นาไปสเวบไซตของ Scratch ทอธบายการใชงานบลอกตางๆ
• About Scratch... ใหขอมลเกยวกบ Scratch
เมนอนๆ
ถาคลกขวาทตวละคร เวท บลอก หรอพนทวางบางแหง จะมเมนปรากฎขนมา ใหเลอกใชงานท
เกยวของกบสงทคลกนนๆ
Scratch การเขยนโปรแกรมสาหรบเดก 21
ตวละครและเวท
เวท
เวท (Stage) เปนสถานททใหตวละครใชแสดง มภาพฉากหลง (Background) ทสามารถเปลยน
ได มขอบเขตทแนนอน โดยแตละตาแหนงบนเวท ถกกาหนดดวยคา x ในแนวนอน และ y ใน
แนวตง ทมมลางขวามตาแหนงพกดของเมาสแสดงอย
ดานบนซายของเวทแสดงชอของโปรเจก (3 FishChomp) ดานบนขวามปมธงเขยว ใช
สาหรบเรมตนทางานสครปตในโปรเจก สวนปมแปดเหลยมสแดง ใชสาหรบหยดการ
ทางานสครปตทงหมด
22 kidsangsan.com สมชาย พฒนาชวนชม
เมอคลกขวาบนฉากเวท จะมเมนปรากฎใหเลอกดงน
• grab screen region for new sprite ตกรอบพนทฉากหลงแลวนามาใชเปนตวละคร
ใหม
• save picture of stage… บนทกภาพทงหมดทปรากฎอยบนเวท ณ ขณะนน แลวเกบ
ลงในไฟลภาพ
Scratch การเขยนโปรแกรมสาหรบเดก 23
ขนาดของเวทและตาแหนงตางๆ บนเวท
เวทมขนาด 480 หนวยในแนวนอน (แกน x) และ 360 หนวยในแนวตง (แกน y) การบอก
ตาแหนงใดๆ บนเวทจะอยในรปพกด (x, y) โดยคา x และ y นน จะอางองจากตาแหนง
ศนยกลาง (0, 0) ซงอยตรงกลางเวท ดงนนมมบนลางทงซายขวาจะมตาแหนงตามทแสดงไวใน
รป
ภาพฉากหลงทจะแสดงบนเวทได จะมขนาดไมเกนกวาขนาดของเวท (480 x 360) ถาภาพฉาก
หลงทจะใชมขนาดใหญกวา โปรแกรม Scratch จะลดขนาดของภาพนนตามสดสวนโดย
อตโนมต เพอใหพอดกบขนาดของเวท
24 kidsangsan.com สมชาย พฒนาชวนชม
รายการตวละครและเวท
ตวละคร (Sprite) คอสงทสรางขนมาเพอใชแสดงบทบาทหนาทบนเวท ตามวตถประสงคทได
ออกแบบไว สวนเวท มฉากหลงแสดงภาพบรรยากาศ และสงแวดลอมในสถานทหนงๆ
ตวละครและเวททใชในแตละโปรเจก จะปรากฎอยในรายการใตเวท เปรยบเสมอนหองแตงตว
ของตวละครกบหองเกบฉากเวท โดยมเสนแบงกนอย หองเกบฉากเวทจะอยซายมอ สวนหอง
แตงตวจะอยดานขวามอ แตละตวละครรวมทงเวท จะมชอกากบอยใตภาพ ตวละครหรอฉาก
เวททถกเลอกจะมกรอบสฟาลอมรอบอย
เมอคลกขวาทตวละครในรายการ จะมเมนปรากฎใหเลอกดงน
• show เพอใหตวละครปรากฎตวบนเวท
• export this sprite สงออกเปนไฟลเพอเกบขอมล ชด และสครปตของตวละครน
• duplicate ทาซาตวละครน
• delete ลบตวละครน
Scratch การเขยนโปรแกรมสาหรบเดก 25
เมอคลกขวาบนตวละครทอยบนเวท จะมเมนปรากฎใหเลอกดงน
• grab screen region for new costume ตกรอบพนทฉากหลงแลวนามาใชเปนชดตว
ละครใหม
• export this sprite สงออกเปนไฟลเพอเกบขอมล ชด และสครปตของตวละครน
• duplicate ทาซาตวละครน
• delete ลบตวละครน
• resize this sprite ปรบขนาดของตวละครน
• rotate this sprite หมนตวละครน
26 kidsangsan.com สมชาย พฒนาชวนชม
การสรางตวละครใหม
ในการสรางตวละครใหมๆ เพมเขามาในโปรเจกสามารถทาไดหลายวธ โดยการเลอกคลกปม
เครองมอ 3 ปมน
วธทงายทสดในการเพมตวละครใหมในโปรเจก คอคลกทปมน โปรแกรม Scratch จะสมตว
ละคร จากคลงตวละครทมอยในโปรแกรมมาให วธนไดตวละครมาอยางรวดเรว แตไมรวาจะได
ตวละครใดมา
แตถาตองการเลอกตวละครเอง ทาไดโดยคลกปมน โปรแกรมจะแสดงคลงตวละครในหมวด
ตางๆ มาใหเลอก เชนในกรณน ผใชเลอกโฟลเดอรหมวดสตว (Animals) โดยดบเบลคลกทโฟล
เดอรหรอคลกเลอกโฟลเดอรแลวคลกปม OK
Scratch การเขยนโปรแกรมสาหรบเดก 27
ในโฟลเดอรหมวดสตว มตวละครใหเลอกมากมาย ถาตองการเลอกตวละคร เชน ป (crab2) ให
ดบเบลคลกไดเลย หรอคลกเลอกทปแลวคลกปม OK
สงเกตวา ตวละครบางตวจะมสครปตมาดวย เชน มด (Crawling Ant) ม 4 สครปต ถาเลอกมด
กจะไดสครปตมาดวย
วธสดทายถาตองการสรางตวละครดวยตวเอง Scratch กมโปรแกรมสาหรบวาดรปมาใหดวย
โดยการคลกปม จะไดโปรแกรมวาดรป (Paint Editor)
เมอวาดรปเสรจแลว คลกปม OK เพอบนทกรปเปนตวละครใหม ถาไมตองการรปทวาดมา คลก
ปม cancel
28 kidsangsan.com สมชาย พฒนาชวนชม
สงทสาคญของการสรางตวละครดวยวธนคอ การกาหนดจดศนยกลางของชดตวละคร ซง
นอกจากใชบอกตาแหนงพกดของตวละครแลว ยงเปนจดอางองสาหรบการเคลอนท การหมน
และการสลบทศ
Scratch การเขยนโปรแกรมสาหรบเดก 29
เครองมอวาดรปแถวท 1
• พกน : สาหรบวาดอยางอสระดวยสพนหนาปจจบน บรเวณเครองมอทางเลอกสามารถปรบ
เลอกขนาดของพกนได
• ยางลบ : สาหรบลบอยางอสระ บรเวณทถกลบจะโปรงแสง บรเวณเครองมอทางเลอก
สามารถปรบเลอกขนาดของยางลบได
• ถงเทส : สาหรบเทสบนพนททตอเนองกน ดวยสเดยวหรอเฉดส บรเวณเครองมอทางเลอก
สามารถเลอกรปแบบการเทสได (สเดยว เฉดสแนวนอน เฉดสแนวตง หรอ เฉดสแนวรศม)
เฉดสเกดจากการผสมสจากสพนหนาไปยงสพนหลง
• สเหลยม : วาดรปสเหลยมทบหรอกรอบสเหลยม ดวยสพนหนา บรเวณเครองมอทางเลอก
สามารถเลอกรปแบบของสเหลยมได (สเหลยมทบหรอกรอบสเหลยม) ในกรณของกรอบ
สเหลยม ขนาดของเสนกาหนดไดจากขนาดของพกน
• วงร : วาดรปวงรทบหรอกรอบวงร ดวยสพนหนา บรเวณเครองมอทางเลอกสามารถเลอก
รปแบบของวงรได (วงรทบหรอกรอบวงร) ในกรณของกรอบวงร ขนาดของเสนกาหนดได
จากขนาดของพกน
30 kidsangsan.com สมชาย พฒนาชวนชม
เครองมอวาดรปแถวท 2
• เสนตรง : วาดเสนตรงดวยสพนหนา บรเวณเครองมอทางเลอก สามารถปรบเลอกขนาด
ของพกนได ถากด Shift + ลากเสน จะบงคบเสนเปนเสนแนวนอนหรอแนวตง
• ขอความ : ใสขอความเขากบรปวาด บรเวณเครองมอทางเลอกสามารถปรบเลอกแบบอกษร
และขนาดของตวอกษรได แตละชดตวละครสามารถใชขอความไดเพยงหนงขอความ
• เครองมอใชเลอกพนท : ตกรอบพนทส เหลยม จากนนสามารถลากยายสเหลยมนไปยง
ตาแหนงใหมได (กดคย Del เพอลบสงทเลอกในสเหลยม กดคย Shift + Del หรอ Shift +
backspace เพอลบสงอนทงหมดทอยนอกกรอบสเหลยม) คลกนอกกรอบสเหลยมเพอ
ยกเลกกรอบสเหลยมปจจบน
• ตราประทบ : เลอกพนทส เหลยมครอบคลมในสงทตองการทาซา จากนนคลกในบรเวณอน
เพอทาซา ยกเลกการทาซาดวยการคลกเครองมอใดๆ กได
• หลอดหยด : ใชปลายหลอดหยดเพอเลอกสสาหรบสพนหนา โดยสามารถเลอกไดจากจานส
หรอบรเวณภายในผนผาใบ ถาตองการเลอกสทอยนอกบรเวณผนผาใบ ใหคลกหลอดหยด
ในผนผาใบ แลวลากออกไปขางนอกผาใบเพอเลอกสทตองการ
Scratch การเขยนโปรแกรมสาหรบเดก 31
เครองมออนๆ
• คลกบรเวณสปจจบนแตละครง จะสลบสระหวางสพนหนากบสพนหลง คลกสในจานสเพอ
เลอกสใหมสาหรบสพนหนา ถาตองการเลอกสสาหรบสพนหลง กดคย Shift + คลกสในจาน
ส
• คลกเลอกจานสทางเลอก เพอเปลยนจานสเปนจานสแบบตอเนอง
• คลกปมกาหนดจดศนยกลาง เพอเลอกตาแหนงในรป ใหเปนจดศนยกลางของการหมนเมอ
ตวละครถกหมนบนเวท
• คลกปมซมภาพ เพอขยายหรอยอผนผาใบ ถาซมภาพเกน 100% แถบเลอนภาพใน
แนวนอนและแนวตงจะปรากฎ เพอใชสาหรบเลอนดภาพในผนผาใบ การซมภาพไมได
เปลยนขนาดของภาพ
• คลกปมมาตราสวน (หดหรอขยาย) เพอเปลยนขนาดรปในผนผาใบ หรอรปในสวนทเลอกไว
ถากดคย Shift + คลกปมมาตราสวน จะสามารถใสคาขยายเปนเปอรเซนตได (100 % คอ
มาตราสวนดงเดม)
• คลกปมหมน (ตามเขมหรอทวนเขมนาฬกา) เพอหมนรปในผนผาใบ หรอรปในสวนทเลอก
ไว ถากดคย Shift + คลกปมหมน จะสามารถใสคาองศาได
• คลกปมสลบดาน (แนวนอนหรอแนวตง) เพอสลบดานของรปในผนผาใบ หรอรปในสวนท
เลอกไว
• คลกปมนาเขา เพอเปดรปภาพจากไฟล และใสไวบนผนผาใบ
• คลกปมลางผาใบ เพอลางรปทงหมดจากผนผาใบ
• ถาเกดขอผดพลาดระหวางวาดรป คลกปมยกเลก เพอยกเลกสงทเพงทาไป แตถาเปลยนใจ
ตองการนาสงทเพงยกเลกไปกลบมา คลกปมทาซา
32 kidsangsan.com สมชาย พฒนาชวนชม
ขอมลของตวละคร
เมอคลกเลอกตวละครในรายการ หรอดบเบลคลกตวละครบนเวท จะเหนขอมลสวนตวของตว
ละครนน
ตวละครมสวนประกอบอยหลายอยาง เชน ชอ (Creature6) ทศทางการเคลอนท (104)
ตาแหนงบนเวท (x: -166 y: 125) สของปากกา (สฟา) สครปต (Scripts) ชดตวละคร
(Costumes) เสยง (Sounds) รปแบบในการหมน และความสามารถในการเคลอนทดวยการใช
เมาสลากในโหมดนาเสนอหรอบนเวบไซต Scratch แมกญแจปดหมายถงไมสามารถทาได คลก
แมกญแจเพอปลดลอก ใหสามารถทาได
สวนประกอบบางอยางอาจมหรอไมมกได เชน สครปตและเสยง แตองคประกอบทตองมคอ ชอ
ทศทางการเคลอนท ตาแหนงบนเวท ซงจะถกกาหนดโดยอตโนมตถาไมระบตอนสรางตวละคร
สวนชดตวละคร ซงบงบอกหนาตา และการมอยของตวละครนนๆ ตองมในตอนสรางตวละคร
Scratch การเขยนโปรแกรมสาหรบเดก 33
ทศทางการเคลอนท
ทศทางบนเวทจะถกระบเปนองศา ระหวาง -180 ถง 180 องศา ทศ 0 ชไปดานบน หมนตาม
เขนนาฬกาเปนทศบวก หมนทวนเขนนาฬกาเปนทศลบ ทศ -180 กบ 180 องศาชไปดานลาง
เหมอนกน แตมาจากคนละดาน (ตามรป)
เมอนารปปลามาใสกรอบทศทางจะไดดงรป เสนสนาเงนเปนตวบอกทศทางการเคลอนทปจจบน
คอ 104 องศา การเปลยนทศทางทาไดโดยคลกทตวปลาแลวหมนตามทศทเราตองการ สงเกต
วาเสนบอกทศทางสนาเงนและตวเลขบอกทศองศาจะเปลยนตามขณะหมนดวย
34 kidsangsan.com สมชาย พฒนาชวนชม
ขอมลของเวท
เมอคลกเลอกเวทในรายการ หรอดบเบลคลกพนทวางบนเวท จะเหนขอมลสวนตวของเวท
เวทมสวนประกอบนอยกวาตวละครมาก เนองจากเวทเคลอนทไมได จงไมจาเปนตองมตาแหนง
ทศทางการเคลอนท รปแบบในการหมน และความสามารถในการเคลอนทดวยการใชเมาสลาก
เวทวาดรปบนตวเองไมได จงไมมปากกาสาหรบวาดรป แตสามารถลบรปบนเวทได ในแตละโป
รเจกมเวทเดยว จงมชอเดยว (Stage) และไมสามารถเปลยนชอได
อยางไรกตามเวทสามารถมสครปตเปนของตวเอง มภาพฉากหลงไดหลายภาพ และมเสยง
ประกอบเวทได
Scratch การเขยนโปรแกรมสาหรบเดก 35
พนทสาหรบเขยนสครปต
สครปตสาหรบตวละคร
เมอเลอกตวละครแลว (เชน hungry fish) คลกแทป Scripts จะเหนพนทสาหรบเขยนสครปต
สครปตคอชดคาสงสาหรบตวละครหรอเวท เพอใหทางานตามทออกแบบโปรแกรมไว
สครปตของตวละครหนงๆ มไดหลายสครปต (2 สครปตในตวอยางน) หรอไมมเหลอกได
สครปตหนงๆ ประกอบไปดวยบลอกคาสงมาเรยงตอกนเปนกลม บางบลอกสามารถอยขางใน
หรอซอนอยบนบลอกอนได
36 kidsangsan.com สมชาย พฒนาชวนชม
เมอคลกขวาทบลอกใดๆ บนสครปต จะมเมนปรากฎดงน
• help เพอขอความชวยเหลอ ดวาบลอกนนทางานอยางไร
• duplicate ทาซาบลอก โดยบลอกทจะถกทาซา จะมาตงแตบลอกทถกคลกรวมไปถง
บลอกทตามมาดวย
แตถาคลกขวาบลอกบนสดของสครปต ซงเปนตวแทนของทงสครปต จะมเมนเพมอกอยางคอ
delete คลกเพอลบบลอกทงสครปต
Scratch การเขยนโปรแกรมสาหรบเดก 37
สครปตสาหรบเวท
สครปตสาหรบเวทกคลายๆ กบของตวละคร เพยงแตวาบลอกทสามารถใชงานไดจะลดลง
โดยเฉพาะบลอกหมวดการเคลอนทนนไมมเลย เนองจากเวทไมสามารถเคลอนทไดนนเอง
เมอคลกขวาบนพนทวาง จะมเมนใหเลอกดงน
• clean up เพอจดระเบยบการใชพนทของแตละสครปตใหเปนระเบยบเรยบรอย
• save picture of script เพอบนทกสครปตทงหมดใหเปนไฟลภาพ
• add comment จะปรากฎพนทสเหลอง สามารถบนทกขอความเกยวกบสครปตทกาลง
เขยนอย เพอใชเตอนความจาในภายหลง
38 kidsangsan.com สมชาย พฒนาชวนชม
ชดตวละครและภาพฉากหลงเวท
คลกแทป Costumes ของ hungry fish เพอด แกไข หรอเพมเตมชดของตวละคร ซงในตวอยาง
นม 2 ชด ชดทใสอยปจจบน จะมกรอบสฟาลอมอย สามารถใชเมาสคลกชดอน เพอเปลยนชด
ใหตวละครบนเวทได ชดแตละชดเกดจากรปภาพ ซงมสวนประกอบดงน (สาหรบชดปจจบน)
• ชอชด (open-mouth)
• ขนาดของภาพ (214 x 111)
• ขนาดไฟลของภาพ (2 KB)
• ลาดบชดกากบอยทมมซายบน (1) ซงสามารถสบเปลยนไดดวยการลากชดขนลง ไป
ตาแหนงทตองการ
• ปม Edit เพอแกไขภาพในโปรแกรมวาดรป (Paint Editor)
• ปม Copy เพอทาซาชดน
• ปมลบชด เมอไมตองการชดนแลว
Scratch การเขยนโปรแกรมสาหรบเดก 39
คลกขวาทชดใด จะมเมนใหเลอกดงน
• turn into new sprite จะสามารถสรางตวละครใหมจากชดนได
• export this costume จะสามารถสงออกชดนเพอเกบไวในไฟลได
เมอเลอกเวท แลวคลกแทป Backgrounds ของเวท เพอด แกไข หรอเพมเตมฉากหลง ซงม
สวนประกอบคลายกบชดตวละคร เพยงแตวาภาพของฉากหลงมขนาดไมเกน 480 x 360 ตาม
ขนาดของเวท
40 kidsangsan.com สมชาย พฒนาชวนชม
การสรางชดละครหรอฉากหลง
การสรางชดละครหรอฉากหลงทาไดหลายวธ เมอคลกแทป Costumes หรอแทป Backgrounds
จะเหน 3 ปมสาหรบสรางชดตวละครหรอฉากหลง
• คลกปม Paint เพอวาดชดใหม โดยใชโปรแกรมวาดรป (Paint Editor)
• คลกปม Import เพอโหลดชดทมมากบโปรแกรม Scratch (ชดอยางเดยว ไมมสครปต)
• คลกปม Camera ถาเครองคอมพวเตอรมกลอง คลกปมรปกลองหรอกดแปนเวนวรรค
เพอถายรป เมอถายเสรจคลกปม Done กจะไดรปออกมา เปนชดถดไปของตวละครท
เลอกปจจบน หรอภาพฉากหลงถดไปของเวท
นอกจากนนยงสามารถลากรปภาพ จากเวบไซต โฟลเดอร หรอเดสกทอป มาใสในรายการของ
ชดตวละครหรอภาพฉากหลงไดเลย
Scratch การเขยนโปรแกรมสาหรบเดก 41
เสยงตวละครและเสยงประกอบ
คลกแทป Sounds ของ hungry fish เพอฟง แกไข หรอเพมเตมเสยงใหกบตวละคร ตวอยางนม
เพยงเสยงเดยวในรายการ เสยงไมไดเกดขนตลอดเวลา แตจะสงเสยงเมอถกเรยกใชงานเทานน
เสยงแตละเสยงมสวนประกอบดงน
• ชอ (chomp)
• ระยะเวลา (0:00:01)
• ขนาดไฟล (31 KB)
• ปมเปดเสยง สาหรบทดสอบเสยง
• ปมปดเสยง
• ปมลบเสยง ถาไมตองการเสยงนแลว
เมอคลกขวาทเสยงจะมเมน export this sound ใหเลอก เพอสงออกเสยงนเกบไวในไฟล
42 kidsangsan.com สมชาย พฒนาชวนชม
การสรางเสยง
คลกแทป Sounds จะเหน 2 ปมสาหรบสรางเสยง ใหกบตวละครหรอเวท
คลกปม Record จะไดโปรแกรมบนทกเสยง (Sound Recorder) ออกมา เพอบนทกเสยงจาก
ผใช ผานไมโครโฟนของเครองคอมพวเตอร โปรแกรมบนทกเสยงมแถบบนทกเสยง และเวลาท
ใชไปในการบนทกเสยงกากบอยดวย
การบนทกเสยงกคลายกบเครองเสยงทวๆ ไป คลกปมวงกลมสแดงเรมบนทกเสยง เมอบนทก
เสรจ คลกปมหยดเสยง (สเหลยม) จากนนสามารถคลกปมเลนเสยง (สามเหลยม) เพอทดสอบ
เสยงทบนทกมา ถาไมพอใจเสยงทไดมา สามารถบนทกใหมได ดวยการคลกปมบนทกเสยงอก
ครง บนทกซากคร งกไดจนกวาจะพอใจ ถาพอใจกบเสยงทบนทกแลว คลกปม OK เพอนาไปใช
งานตอไป แตถาไมตองการเสยงทบนทกแลว กคลกปม Cancel เพอยกเลกการบนทกเสยง
คลกปม Import เพอนาเขาไฟลเสยง ซงไฟลนนอาจบนทกดวยโปรแกรมบนทกเสยงใน
โปรแกรม Scratch หรอโปรแกรมบนทกเสยงอนๆ หรอจะใชไฟลเสยงทมอยในโปรแกรม
Scratch กได เมอคลกปม Import จะไดหนาตาง Import Sound แสดงโฟลเดอรเสยงในหมวด
ตางๆ ทอยในโปรแกรม Scratch
Scratch การเขยนโปรแกรมสาหรบเดก 43
เมอคลกเลอกโฟลเดอร เชน Animal จะเหนไฟลเสยงมากมาย เมอคลกทไฟลใดจะไดยนเสยง
นนทนท แตถาตองการนาเขาไฟลใด ใหดบเบลคลกทไฟลนน หรอคลกเลอกไฟลนน แลวคลก
ปม OK
44 kidsangsan.com สมชาย พฒนาชวนชม
บลอกคาสง
บลอกคาสง เปนสวนประกอบหลกของสครปต ใชสาหรบสงใหตวละครหรอเวททางานตาม
วตถประสงคของคาสงนนๆ
Scratch แบงบลอกคาสงเปนหมวดตางๆ 8 หมวด มสตางกน ตามลกษณะหนาทของแตละ
หมวด เมอคลกทบลอกหมวดใด จะเหนคลงบลอกคาสงในหมวดนน โดยบลอกคาสงทปรากฎ
จะขนกบวา ณ ขณะนน เลอกตวละครหรอเวทอย
บลอกคาสงสาหรบตวละครกบเวทบางหมวด อาจมความแตกตางกนบาง เนองจาก
ความสามารถทแตกตางกน เชน เวทเคลอนทไมได ดงนนจงไมมบลอกคาสงในหมวดการ
เคลอนทสาหรบเวทเลย
Scratch การเขยนโปรแกรมสาหรบเดก 45
คลงบลอกคาสงสาหรบตวละคร
บลอกหมวดการเคลอนท (Motion) เกยวกบการเคลอนท และการยายตาแหนงของตวละคร
บลอกหมวดรปราง (Looks) เกยวกบรปรางของตวละคร เชนส ขนาด การแสดงคาพด และ
ความคด รวมถงเอฟเฟคตางๆ
46 kidsangsan.com สมชาย พฒนาชวนชม
บลอกหมวดเสยง (Sound) ใชสาหรบเปดเสยงดนตรชนดตางๆ ผใชอาจอดเสยงพดดวยตวเอง
แลวนามาใสในตวละคร เหมอนกบการพากยเสยง
บลอกหมวดปากกา (Pen) ใชสาหรบวาดรปหรอประทบรป (ของตวละคร) บนเวท
Scratch การเขยนโปรแกรมสาหรบเดก 47
บลอกหมวดควบคม (Control) ใชในการบงคบทศทางการทางานของสครปตเชน การทางานซา
การตดสนใจ การตดตอสอสารกบตวละครอนๆ และทสาคญใชกาหนดเรมตนและหยดการ
ทางานของสครปต
48 kidsangsan.com สมชาย พฒนาชวนชม
บลอกหมวดกาลงรบร (Sensing) ใชรบสญญานตางๆ ทมตอตวละครหรอผใชงาน เชน การชน
กนของตวละคร การกดคยของผใชงาน
Scratch การเขยนโปรแกรมสาหรบเดก 49
บลอกหมวดโอเปอรเรเตอร (Operators) เกยวกบการคานวณทางคณตศาสตร ตรรกะ และการ
จดการตวอกษร และขอความ
50 kidsangsan.com สมชาย พฒนาชวนชม
บลอกหมวดตวแปร (Variables) ใชในการสรางตวแปรเพอเกบขอมลเอาไวใชภายหลง ตวแปรท
สรางสามารถใชสวนตวของแตละตวละคร หรอใชรวมกนกบตวละครทงหมดรวมทงเวทดวย
เมอสรางตวแปรแลว เชน ตวแปร score และตวแปรลสต level จะมบลอกสาหรบจดการตวแปร
เพมขนมา
ถาคลกกลองหนาตวแปร จะปรากฎเครองหมายถกภายในกลอง (คลกอกครงเพอยกเลก) เพอ
ทาใหตวแปรนแสดงอยบนเวท
Scratch การเขยนโปรแกรมสาหรบเดก 51
คลงบลอกคาสงสาหรบเวท
เวทไมสามารถเคลอนทได ทาใหบลอกคาสงหมวดการเคลอนทไมมเลย สวนหมวดอนๆ กม
บลอกคาสงนอยกวาของตวละคร เชน หมวดปากกามแตบลอกลบเทานน เนองจากตวละคร
เทานนทวาดรปได หมวดรปรางจะมบลอกคาสงเกยวกบฉากหลงเทานน สวนหมวดควบคม ม
บลอกเหมอนกนหมด ยกเวนบลอก เมอเวทถกคลก “when Stage clicked” (ตดมาใหดเฉพาะ
สวนทตางกน)
52 kidsangsan.com สมชาย พฒนาชวนชม
บลอกหมวดรบร ไมมบลอกการรบรทางสมผส และการรบรระยะทาง
สวนบลอกหมวดโอเปอรเรชน หมวดเสยง และหมวดตวแปรเหมอนกนกบของตวละคร
Scratch การเขยนโปรแกรมสาหรบเดก 53
บลอกยงถกแบงตามรปรางและลกษณะการวางตอกน ซงมอย 6 แบบดงน
1. Hat blocks
ม 4 บลอกอยในหมวดควบคม เปนบลอกเรมตนของทกๆ สครปต ดานบนจะโคงมนคลาย
หมวก ดานลางมสวนนนยนออกมาสาหรบตอกบบลอกทตามมา
2. Stack blocks
เปนบลอกสวนใหญททางานหลกๆ สามารถเรยงตอกนได ใน Scratch ม 75 บลอก ดานบน
จะเวาสวนดานลางจะนนทาใหมนวางดานบน ดานลาง หรอระหวางกลางบลอกอนได
3. Boolean blocks
เปนบลอกทคนคาคาตอบถกหรอผด มทงหมด 13 บลอก อยในบลอกหมวดโอเปอรเรชน
และบลอกหมวดกาลงรบร รปรางของบลอกจะเปนหกเหลยมไมมสวนยนหรอเวา ใชซอนอย
ขางในบลอกอนอกท สวนใหญใชแสดงเงอนไขใน C blocks หรอ Boolean blocks ดวย
กนเอง
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
Scratch การเขยนโปรแกรมสาหรบเดก 55
การเขยนโปรแกรมใน Scratch
การเขยนโปรแกรมใน Scratch คอการเขยนสครปตให ตวละครแตละตวรวมทงเวททางาน
รวมกน โดยทตวละครแตละตวรวมทงเวท สามารถมไดหลายสครปตหรอไมมสครปตเลยกได
สครปตประกอบจากบลอกคาสงเพอทางาน ตามทออกแบบโปรแกรมไว รปดานบนเปนสครปต
ของตวละครปลา (hungry fish) ทมอย 2 สครปต แถบสขาวทลอมรอบสครปตแรก หมายถง
สครปตนกาลงทางานอย
56 kidsangsan.com สมชาย พฒนาชวนชม
การสรางสครปต
การเขยนโปรแกรมสครปต เปนการนาบลอกมาเรยงตอกนอยางมความหมาย หลกการและ
ความเขาใจในการเขยนโปรแกรม จะทาใหผเรยนเขยนสครปตไดถกตองตามเปาหมาย
การเขยนสครปตใหกบตวละครหรอเวท เรมตนดวยการเลอกตวละครหรอเวทกอน จากนนคลก
แทปสครปต ซงเปนพนทสาหรบเขยนสครปต
การนาบลอกมายงพนทเขยนสครปต เรมจากเลอกหมวดของบลอกกอน จากนนจะเหนคลง
บลอกคาสงในหมวดนนดานลาง ลากบลอกทตองการไปยงพนทเขยนสครปต ถาไมตองการ
บลอกใดๆ ทอยในพนทเขยนสครปตแลว กลากมนกลบมายงพนทของคลงบลอกคาสงได หรอ
คลกขวาทบลอกนนแลวเลอก delete
Scratch การเขยนโปรแกรมสาหรบเดก 57
ขอมลสาหรบบลอกคาสง
บลอกคาสงจะทางานหรอทาหนาทอยางใดอยางหนง โดยทบางบลอกจะทางานไดนนตองรบ
ขอมลเพมเตม บางบลอกสามารถคนขอมลได บางบลอกสามารถทงรบทงคนขอมล ทงนขนอย
กบหนาทและวตถประสงคของแตละบลอก
ขอมลทใชในบลอกมหลายชนด ไดแก ตวเลข ตวอกษร ส ขอมลทอยในตวแปร ขอมลรายการ
เชน คยบอรด โนตดนตร ประเภทเครองดนตร ตวละครทสรางขน ฯลฯ
การใสขอมลในบลอก
บางบลอกจะมแถบสขาว สามารถใสขอความหรอตวเลขได เชน บลอกเคลอนท
ตองการคาตวเลขจานวนกาวในการเคลอนท ถาตองการเปลยนคาน ใหคลกทแถมสขาว จากนน
พมพแกไขขอมล แถบสขาวนยงสามารถรบคาทคนมาจากบลอกอนได ดวยการใสบลอกนนลง
ในแถบสขาวโดยตรง เชน คาตาแหนง x ทไดจากบลอก
บางบลอกสามารถเลอกคาไดจากเมนรายการแบบดงลง เชน โดยคลกท
สามเหลยมจะเหนรายการ จากนนคลกเลอกรายการทตองการ
โดยปกต Scratch จะปองกนการใสขอมลไมตรงกบชนดขอมลทบลอกตองการ ถาใสไมตรงจะใช
คาโดยปรยาย (Default) ทกากบไวแทน เชน ถาบลอกตองการตวเลข แตพยายามใสตวอกษร
แทน กจะไดเลขคาโดยปรยายทกากบไว แตถาไมมคาใดกากบเลย กจะเปน 0 แทน ถาบลอก
ตองการขอมลตวอกษร ตวเลขสามารถใสได เพราะถอวาเปนตวอกษรดวย ถาไมใสเลยกได
เพราะชองวางถอวาเปนอกษรวางนนเอง สวนขอมลในรายการจะไมมปญหาเนองจากใชวธคลก
เลอกรายการ
58 kidsangsan.com สมชาย พฒนาชวนชม
ลาดบการทางานของบลอกทซอนกน
ปกตบลอกในสครปตจะทางานจากบนลงลาง ถาเจอบลอกควบคมใดๆ บลอกทอยภายในกจะ
ทางานจากบนลงลางเหมอนกน เมอบลอกมบลอกอนซอนกนหลายชน จะเรมทางานจากบลอก
ดานในสดกอน เปรยบเสมอนการใสวงเลบซอนกนในทางคณตศาสตร ซงลาดบการทางานจะทา
จากวงเลบในสดกอน ถาอยในระดบเดยวกน จะทาจากซายไปขวา เชน เงอนไขจากบลอกโอ
เปอรเรชนทซอนกนตามรปน สามารถเขยนในรปแบบวงเลบไดดงน
((battconnected = 1) and ((Switch = 1) and (bulbconnected =1)))
สครปตจะตรวจสอบขอเทจจรงจากเงอนไข Switch = 1 กอน ถดไปตรวจสอบ bulbconnected
= 1 ตามดวยการตรวจสอบขอเทจจรงจากเงอนไข battconnected = 1
จากนนหาขอเทจจรงจากโอเปอรเรชนตรรกะและ (ขวา) ระหวางขอเทจจรง Switch = 1 และ
bulbconnected = 1 คาตอบทไดนามาหาขอเทจจรงสดทายดวยโอเปอรเรชนตรรกะและ (ซาย)
กบคาตอบทไดจากเงอนไข battconnected = 1
Scratch การเขยนโปรแกรมสาหรบเดก 59
ความชวยเหลอการใชบลอก
ใน Scratch มบลอกมากมาย จะรไดอยางไรวามนทางานอยางไร นอกจากคมอทอานไดจาก
เวบไซต หรอไฟลคมอ PDF แลว ในตวโปรแกรม Scratch เองกมวธการใชงานฉบบยอใหดวย
โดยการคลกขวาบลอกทตองการรการทางานของมน ซงจะเปนบลอกทอยในสครปต หรอบลอก
ทอยในคลงบลอกคาสงกได จากนนเลอก Help
ตวอยางเชน Help ของบลอกคาสงเพอเปลยนภาพฉากหลงเวทภาพถดไป (next background)
จะไดรปเหมอนขางลางน
ในหนาตาง Help จะอธบายหลกการใชงาน และวตถประสงคของบลอกน พรอมทงตวอยางการ
ใชงานใหดดวย
60 kidsangsan.com สมชาย พฒนาชวนชม
การตอบลอก
บลอกทสามารถเรยงตอกนได เมอลากบลอกเขาไปใกลๆ กบบลอกเปาหมาย จะเหนแถบสขาว
ขน เปนการบอกวาบลอก 2 บลอกนสามารถตอกนได เมอวางบลอกลง บลอกจะตอไดสนทกบ
บลอกเปาหมาย
บลอกทตอกนไมได จะไมเหนแถบสขาวน และไมสามารถบงคบใหตอกนได ถาวางบลอกลงไป
บลอกจะอยเหลอมกบบลอกเปาหมาย แตจะไมตอกน
โดยทวไป รปรางของบลอกจะบงบอกอยแลววาบลอกสามารถตอกนไดหรอไม ลองสงเกตจาก
สองตวอยางทผานมา การใชแถบสขาว เปนตวชวยอกอยางหนง เพอลดความยากในการเขยน
โปรแกรม และปองกนการเกดขอผดพลาดในไวยากรณของโปรแกรมภาษา ซงเกดขนบอยๆ ใน
โปรแกรมภาษาอน
Scratch การเขยนโปรแกรมสาหรบเดก 61
การซอนบลอก
บลอกสามารถซอนกนไดหลายๆ ชน การซอนบลอกเขาไปขางในของบลอกอน กคลายกบการ
ตอบลอก คอเมอลากบลอกเขาไปใกลๆ บลอกทตองการจะซอนบลอกภายใน จะเหนแถบสขาว
ลอมรอบบรเวณทสามารถวางบลอกได เปนการบอกวา ตาแหนงนสามารถวางบลอกได บลอกท
วางไมไดจะไมเหนแถบสขาวน และไมสามารถบงคบใหวางได ถาวางไปมนกจะลอยอยดานบน
แตไมเขาไปดานในบลอก
62 kidsangsan.com สมชาย พฒนาชวนชม
การนาบลอกออก
การนาบลอกทไมตองการออกจากสครปต ทาไดโดยคลกเลอกบลอกแลวลากออกมาจากสครปต
โดยทตาแหนงของบลอกในสครปตจะทาใหการดงบลอกออกมาไดไมเหมอนกน เชนตวอยาง
ดานลางน
(1) เปนสครปตเรมตน
(2) ถาบลอกทตองการเอาออกอยลางสดของสครปต หรอบลอกลางสดทอยใน C บลอก
บลอกนนบลอกเดยวจะถกดงออกมา
(3) แตถาบลอกนนมบลอกอนตามมาตดกน บลอกทตามมาจะถกดงออกมาดวย
(4) ถาดง C บลอกออกมา บลอกทอยภายใน C บลอกนน (และบลอกอนทตอตาม C บลอก
ดวย) กจะถกดงออกตามมาดวย
Scratch การเขยนโปรแกรมสาหรบเดก 63
การรนสครปต
การรนสครปตคอการสงใหสครปตทางาน ทาไดสองวธ คอ รนสครปตเฉพาะตวละครหรอเวท
กบ รนสครปตทงโปรเจก (ทกตวละครและเวท)
การรนสครปตของตวละคร (หรอเวท) ใชทดสอบการทางานของสครปตของตวละครนนๆ (หรอ
เวท) ทาไดดวยการดบเบลคลกทบลอกใดกไดในสครปตนน สครปตใดทางานอย จะมเสนสขาว
ลอมรอบสครปตนน ในตวอยางน ตวละคร hungry fish มสครปตกาลงทางานพรอมกน 2
สครปต
สครปตแตละสครปตจะทางานจากบนลงลาง ถาสครปตทางานเพยงรอบเดยว สครปตจะหยด
การทางานเองเมอบลอกสดทายทางาน แตถาสครปตทางานหลายรอบ กจะทางานซาจนกวาจะ
ครบรอบตามทกาหนดไว กอนทจะหยดทางาน แตถาสครปตทางานตลอดเวลา (ในบลอก
forever) สครปตจะทางานซาไปเรอยๆ และถาตองการหยดทางานสครปตนน ทาไดดวยการ
ดบเบลคลกทบลอกใดกไดของสครปตนนอกครง
64 kidsangsan.com สมชาย พฒนาชวนชม
การรนสครปตทงโปรเจกของทกตวละครและเวทพรอมกน คอการคลกปมธงเขยว ทอยมม
ขวาบนของเวท ทกสครปตของทกตวละครและเวท ทเรมตนสครปตดวยบลอกธงเขยว
จะทางานพรอมกน และถาตองการหยดการทางานทงโปรเจก ใหคลกปม
แปดเหลยมสแดง ถดจากปมธงเขยว
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 ตวแปร และตวแปรทมโครงสราง
66 kidsangsan.com สมชาย พฒนาชวนชม
การทางานแบบเรยงลาดบ (Sequence)
การสรางโปรแกรมใน Scratch ผเขยนโปรแกรมตองคดอยางเปนระบบ เกยวกบลาดบขนตอน
การทางาน เพอใชในการสรางสครปต โดยการนาบลอกคาสงมาเรยงตอกนอยางมความหมาย
ตามเปาหมายทวางไว
ตวอยางเชน การใหตวละครวาดรปสเหลยมหนงรป จะประกอบไปดวยการทางานยอยหลายๆ
คาสงดวยกน นนคอ การจรดปากกาลงเตรยมวาดรป การเคลอนทไปขางหนา 50 กาว จากนน
เปลยนทศทางทวนเขมนาฬกาไป 90 องศา แลวกเคลอนทไปอก 50 กาว เปลยนทศทางทวน
เขมนาฬกาอก 90 องศา ทาแบบนเพมอก 2 รอบ กจะไดการวาดรปสเหลยมหนงรป จากนนจง
ยกปากกาขน
จะเหนไดวาการเขยนสครปตใหทางานอะไรสกอยาง มกจะเรมจากภาพรวมหรอเปาหมายกอน
จากนนแจกแจงงานเปนลาดบขนตอน สรางงานยอยๆ และประกอบเขาดวยกน เพอใหงานใหญ
นนสาเรจตามเปาหมาย
Scratch การเขยนโปรแกรมสาหรบเดก 67
การควบคมลาดบการทางาน (Control flow)
งานบางอยางงายพอทจะทาแบบเรยงลาดบ ลาดบการทางานของสครปตจงตรงไปตรงมา
ทางานเรยงลาดบจากบลอกบนสด ลงไปจนถงบลอกลางสด แตงานบางอยางมความซบซอน
มากขน การทางานแบบเรยงลาดบอาจไมเพยงพอ หรอไมมประสทธภาพ
ดงนนจงมการควบคมลาดบการทางาน อกสองลกษณะเพอเพมขดความสามารถในการเขยน
โปรแกรม นนกคอ การควบคมลาดบการทางานแบบวนซา (Loop) และการควบคมลาดบการ
ทางานแบบมเงอนไข (Condition) โดยใชบลอกทาซาและบลอกเงอนไข ทมอยหลายแบบให
เลอกใชในบลอกหมวดควบคม
68 kidsangsan.com สมชาย พฒนาชวนชม
การควบคมลาดบทางานแบบวนซา (Loop)
การควบคมลาดบการทางานแบบวนซา เปนการทาซางาน (บลอกทอยภายในบลอกทาซา)
เหมอนเดมหลายๆ ครง เชน การใหตวละครวาดรปสเหลยมนน สวนหนงของงานน คอใหตว
ละครเคลอนทเปนสเหลยม ซงมลกษณะการทางานซากน คอเคลอนทไปขางหนา 50 กาว
จากนนเปลยนทศทวนเขมนาฬกาไป 90 องศา ทาแบบนซากน 4 รอบจะไดรปสเหลยม ถงแม
การเขยนแบบเรยงลาดบจะตรงไปตรงมา แตโปรแกรมจะยาวเกนไป ถาใชการควบคมลาดบการ
ทางานแบบวนซา จะไดสครปตใหมทส นลงและอานทาความเขาใจไดงายกวาดงน
การควบคมลาดบการทางานแบบวนซา มหลายลกษณะ ตามแตละชนดของบลอกควบคม เชน
การทางานซาทไมกาหนดจานวนรอบ คอทาไปตลอดจนกวาจะจบโปรแกรม
การทางานซาทกาหนดจานวนรอบทแนนอน เชน 10 รอบ
การทางานซาทข นกบเงอนไข โดยกอนจะทาซา ตองตรวจสอบเงอนไขกอน วายงเปนจรงอย
หรอไม ถาเงอนไขเปนจรงจงจะทาซา หรอถาเงอนไขเปนจรงจงหยดทาซา
Scratch การเขยนโปรแกรมสาหรบเดก 69
การควบคมลาดบการทางานแบบมเงอนไข (Condition)
เงอนไขถกใชในการควบคมทศทางการทางาน โดยการตดสนใจทจะทางานหรอไมทา หรอตอง
เลอกทางานอยางใดอยางหนง ขนอยกบเงอนไขเปนตวกาหนด เชน
ถาเงอนไขเปนจรง จะทางานทอยภายในบลอกน
ถาเงอนไขเปนจรง จะทางานทอยภายในสวนบน (ใต if) แตถาเปนเทจ จะทางานทอยภายใน
สวนลาง (ใต else)
เงอนไขยงใชควบคมการทางานรวมกบการควบคมแบบอนอก เชน
ถาเงอนไขเปนจรง จะทาซางานทอยภายในบลอกน
ถาเงอนไขเปนจรง จะหยดทาซางานทอยภายในบลอกน
ถาเงอนไขเปนเทจ จะหยดการทางานชวคราว จนกวาเงอนไขจะเปนจรงจงจะทางานในลาดบ
ตอไป
70 kidsangsan.com สมชาย พฒนาชวนชม
โอเปอรเรชน (Operation)
การเขยนโปรแกรมตองอาศยการคานวณไมมากกนอย โอเปอรเรชนเปนเครองมอทใชในการ
คานวณ หรอการจดการกบขอความตวอกษรทใชในโปรแกรม
โอเปอรเรชนใน Scratch เปนโอเปอรเรชนพนฐาน แตกเพยงพอตอการทาโปรเจก โอเปอรเรชน
ทซบซอนสามารถสรางได ดวยการประกอบโอเปอรเรชนพนฐานเขาดวยกนตามหลก
คณตศาสตร
โอเปอรเรชนพชคณตและฟงกชนตางๆ
โอเปอรเรชนตรรกะ
โอเปอรเรชนจดการตวอกษรและขอความ
พนทสขาวภายในบลอกหมายถงผใชสามารถใสขอมลเขาไปไดจากคยบอรด หรอใสบลอกกได
พนทสขาวทรงมนรบคาเปนตวเลขและรบบลอกทรงมน พนททรงหกเหลยมรบไดเฉพาะขอมลท
เปนจรงหรอเทจจากบลอกทรงหกเหลยมเทานน สวนพนทสขาวทรงสเหลยมรบขอมลทเปน
ตวอกษร ทาใหรบตวเลขกได (ถอวาเปนตวอกษรดวย) รบบลอกทรงมนและบลอกทรงหก
เหลยมกไดดวย
Scratch การเขยนโปรแกรมสาหรบเดก 71
การทางานแบบคขนาน (Parallelism)
ใน Scratch ประกอบไปดวยตวละครตางๆ รวมทงเวท ซงสามารถทางานพรอมๆ กนได ณ
ขณะหนงๆ เรยกการทางานแบบนวาการทางานแบบคขนาน ซงใกลเคยงกบชวตจรงของคนเรา
ทเกดการทางานหลายๆ อยางพรอมกนไปในเวลาเดยวกน เชน ในงานปารตเตนราทมผคน
มากมาย บางคนกพดคยกน บางคนกกาลงดมกนอาหาร และหลายๆ คนกกาลงเตนไป พรอม
กบเสยงเพลงทเปดจากเวท
ใน Scratch การทางานแบบคขนาน เปนการทางานจากหลายๆ สครปตพรอมกน แตละสครปต
นนอาจมาจากตวละครเดยวกนกได หรอจากหลายๆ ตวละคร รวมทงเวทกได สครปตเหลานถก
กระตนใหทางานพรอมกน ณ ขณะหนงๆ แตไมจาเปนตองเรมหรอจบสครปตพรอมกน เชนเมอ
ผใชคลกธงเขยวเรมตนโปรแกรม สครปตทตอบสนองตอการคลกธงเขยวทกสครปตจะเรมตน
ทางานพรอมกน แตขณะทสครปตเหลานนทางานอย บางสครปตกาลงถกกระตนจากผใช เชน
การกดคยหรอการคลกตวละคร ใหเรมทางาน หรอถกกระตนจากสครปตอนดวยการสงสาร
บลอกทควบคมใหสครปตเรมทางาน (พรอมกน) ไดจะอยบนสดของสครปต ซงมหลายแบบ เชน
ตอบสนองเมอผใชคลกธงสเขยวเรมตนโปรแกรม
ตอบสนองเมอผใชกดคย (space) ตางๆ บนคยบอรด
ตอบสนองเมอผใชคลกตวละครใดๆ บนเวท
ตอบสนองเมอไดรบสารจากตวละครหรอเวท ทเปนผสงสาร
72 kidsangsan.com สมชาย พฒนาชวนชม
การสอสารภายในและภายนอกของโปรแกรม
ขณะโปรแกรมทางาน ผใชสามารตดตอสอสารกบโปรแกรมได โดยการตดตอหรอใหขอมลกบ
โปรแกรม ภายในโปรแกรมเอง ตวละครตางๆ และเวท สามารถตดตอสอสารกน ผานการสงสาร
หรอแชรขอมลระหวางกน
การตดตอสอสารกนทาใหเกดเหตการณขน อยางไรกตาม เหตการณทเกดขนอาจเปนการ
สอสารทางเดยว ถาอกฝายไมรบรถงเหตการณนน ดงนนตองมการตรวจจบรบรถงเหตการณท
สนใจ และเหตการณทถกตรวจจบไดเทานนจงจะมการตอบสนองตอเหตการณนน
การตดตอและใหขอมลจากผใช (Input)
ขณะโปรแกรมทางาน ผใชสามารถตดตอหรอใหขอมลใหมๆ กบโปรแกรมได โดยทาไดหลาย
ทาง เชน การคลกดวยเมาส การกดคยบอรด การเปลยนระดบเสยง ผานการพดใสไมโครโฟน
การปรบคาขอมลของตวแปร ผานการเลอนสไลสเดอร เปนตน
การสงสารระหวางตวละครและเวท (Message)
เวทและตวละครตางๆ สามารถตดตอสอสารกนได ดวยการสงสารระหวางกน โดยเรมจากการ
สรางสารขนมากอน จากนนตวละครหรอเวทสามารสงสารออกไปได ดวยการกระจายสารซงไม
ระบผรบ เวทหรอตวละครใดทสนใจรบสารน กสามารถตรวจจบสารน และตอบสนองตอสารทรบ
ได
Scratch การเขยนโปรแกรมสาหรบเดก 73
การเกดเหตการณ (Events)
ในขณะทโปรแกรมกาลงทางาน มเหตการณเกดขนมากมายในโปรแกรม ทงจากการตดตอและ
โตตอบระหวางโปรแกรมกบผใช ระหวางตวละครกบเวท หรอระหวางตวละครดวยกนเอง
เหตการณทเกดจากผใช เชน ผใชคลกธงเขยวเรมตนโปรแกรม ผใชคลกตวละคร ผใชพมพ
ขอความตอบคาถามจากตวละคร เหตการณทเกดจากตวละครหรอเวท เชน การชนขอบเวท
ของตวละคร การชนหรอการสมผสกนเองระหวางตวละคร การสงสารระหวางตวละคร เปนตน
การตอบสนองตอเหตการณ (Event handling)
เมอเหตการณเกดขน เหตการณทไดรบความสนใจเทานน ทจะมการตอบสนองตอเหตการณ
นนๆ การตอบสนองตอเหตการณนน ตองอาศยการตรวจจบ หรอการรบสารวาเหตการณนนๆ
เกดขนหรอยง
ใน Scratch ใชบลอกควบคมรปทรงหมวก เปนตวกาหนดวา เหตการณไหนไดรบความสนใจ
สวนสครปตใตบลอกควบคมดงกลาว เปนงานทตอบสนองตอเหตการณนนๆ
เหตการณจะไมมความหมายเลย ถาไมมสครปตใดคอยตวจบเหตการณเหลานน เชน ถาไมม
สครปตใดเลยตรวจจบและตอบสนองการคลกธงเขยว จากผใช โปรแกรมท
เขยนมา จะไมสามารถเรมตนทางานไดเลย
74 kidsangsan.com สมชาย พฒนาชวนชม
การประสานงาน (Synchronization)
การทางานของตวละครและเวท อาจเกดขนพรอมๆ กนในลกษณะคขนาน (Parallelism) ทตาง
คนตางทางานของตนไป แตลกษณะการทางานอกแบบหนง คอการทางานรวมกน ทมลาดบ
ขนตอนการทางานระหวางกน บางครงตองคอยรบงานจากคนอน บางครงตองสงงานใหคนอน
ทาตอ ทกคนตองทางานประสานกน ใหเปนจงหวะเดยวกน เพอใหงานใหญสาเรจลรวงไปได
การประสานงานใหเปนจงหวะเดยวกน คลายกบการสงไมในการวงผลด นกวงคนแรกสงไมให
นกวงคนทสองวงตอ จากนนสงไมใหนกวงคนถดไปวงตอ จนกระทงนกวงคนสดทายวงเขาเสน
ชย
การประสานงานระหวางตวละครและเวทใน Scratch ใชวธการสรางสาร (Message) เพอใช
สอสารระหวางกน เปรยบเสมอนไมผลด เมอตองการสงสารเพอสงตอการทางานระหวางกน ก
จะสงกระจายสารออกไป (Broadcast) ผรบทสนใจในสารน กจะรบสารแลวทางานตอไป
เปรยบเสมอนการสงไมผลด ใหคนทรบไมวงตอไปนนเอง
การสรางและสงกระจายสารออกไป ทาไดดวยบลอกสงกระจาย การสงกระจาย
สารทาใหเกดเหตการณขน เวทหรอตวละครใด ทสนใจรบสารน สามารถทาไดโดยการเรมตน
สครปตดวยบลอก งานทตามมาตอจากบลอกน คอการตอบสนองตอ
เหตการณทไดรบสารน
การสรางสารใหมมาใชเอง การสงกระจายสารทาใหเกดเหตการณขน การตอบสนองตอสารท
สนใจ ทาใหเวทและตวละครตางๆ สามารถสอสารระหวางกนได และสามารถสงตอการทางาน
ใหสอดคลองกนได
Scratch การเขยนโปรแกรมสาหรบเดก 75
การโตตอบระหวางผใชกบโปรแกรม (User interaction)
การโตตอบระหวางผใชกบโปรแกรม เปนกระบวนการตอเนอง ทผใชตดตอสอสารกบโปรแกรม
ดวยการใหขอมลในรปแบบตางๆ ซงทาใหเกดเหตการณในโปรแกรม ตามลกษณะการใหขอมล
นน เมอโปรแกรมรบรและตรวจจบเหตการณทเกดขน กสามารถตอบสนองตอเหตการณนนๆ
ไดตามทไดเขยนโปรแกรมเอาไว
การโตตอบระหวางผใชกบโปรแกรม เปนเหตการณแบบหนงทอาจเกดเมอใดกได เกดชวครง
ชวคราวกได เกดอยางตอเนองกได หรอไมเกดเลยกได ขนกบการออกแบบและชนดของ
โปรแกรม เชน โปรแกรมแอนเมชน ทผใชอาจดอยางเดยว ไมโตตอบกบโปรแกรมเลย
โปรแกรมตอบโจทยคณตศาสตร ทผใชตองตอบคาถามกบโปรแกรม ดวยการคลกเมาส หรอกด
คยเลอกคาตอบ หรอโปรแกรมเกม ทผใชตองโตตอบกบโปรแกรมตลอดเวลา เปนตน
76 kidsangsan.com สมชาย พฒนาชวนชม
การออกแบบชองทางการตดตอระหวางโปรแกรมกบผใช (User interface design)
โปรแกรมรบรการตดตอ เมอไดรบขอมลจากผใช แตจะตอบสนองเฉพาะสงทโปรแกรมสนใจ ซง
ตองถกเขยนโปรแกรมไวลวงหนามาแลว เชน เขยนโปรแกรมใหรบรและตอบสนองตอการกด
คย x ถาผใชกดคย x โปรแกรมกจะตอบสนองตามทไดเขยนโปรแกรมไว แตถาผใชกดคย y ซง
โปรแกรมไมรบรการกดคย y จงไมทาอะไรตอบสนอง
การรบรและตอบสนองตอการกดคย x เปนการสรางชองทางใหผใชตดตอสอสารกบโปรแกรม
ในขณะทการกดคย y ไมไดเปนชองทางตดตอระหวางผใชกบโปรแกรม
นอกจากผใช จะสามารถตดตอโปรแกรมผานอปกรณตางๆ ของคอมพวเตอร (เมาส คยบอรด
ไมโครโฟน) ไดแลว การสรางตวละครขนมา เพอเปนอกชองทางหนงใหผใชตดตอกบโปรแกรม
โดยเฉพาะ กสามารถทาได โดยตวละครเหลานจะอยกบท คลายปม พรอมจะทางาน เมอผใช
คลกทตวละครเหลาน
Scratch การเขยนโปรแกรมสาหรบเดก 77
ตวแปร (Variables)
ตวแปรเปนทพกของขอมล อางองดวยชอของตวแปร สามารถเปลยนแปลงแกไขขอมลได หรอ
เรยกดขอมลในภายหลงได ตวแปรขอมลภายใน ทพรอมใชงานไดเลย มหลายตวแปร เชน ตว
แปรเกบขอมลคาตอบจากผใช ตวแปรเกบคาตาแหนงของตวละคร
เปนตน
ตวแปรยงถกสรางขนมาใหมได เมอมขอมลทตองใชตอเนองในโปรแกรม เชน เมอตองการเกบ
คะแนนในเกมระหวางการเลน กสามารถสรางตวแปร มาเกบคะแนนได ตวแปรทสรางขน
ใหมยงกาหนดไดวา ใหใชเฉพาะกบตวละครทสรางตวแปรน หรอใหทกตวละครใชตวแปรน
รวมกนได
ตวแปรยงสามารถลดความซบซอนของการคานวณยาวๆได การคานวณทใชบอยๆ ในหลายๆ
แหงในโปรแกรม สามารถคานวณเพยงครงเดยว แลวเกบผลลพธไวในตวแปร จากนนนาไปใช
อกไดเลยไมตองคานวณใหม
78 kidsangsan.com สมชาย พฒนาชวนชม
ลสต (List)
ลสตเปนตวแปรทใชเกบขอมลหลายๆ อยางเขาดวยกนอยางเปนระบบ ขอมลลกษณะเดยวกน
ควรเกบไวทเดยวกนใหเปนระบบ ทาใหงายตอการใชงาน
ลกษณะของขอมลทเกบรวมกนอยางเปนระบบ มใหเหนทวไปใน Scratch เชน การเกบชดตว
ละคร ภาพฉากหลงของเวท รายการทใหเลอกในบลอกคาสงตางๆ เชน ประเภทของเอฟเฟค
ตวโนตดนตร ชนดเครองดนตร ทศการเคลอนท เปนตน
ลสตเหมอนตวแปร สามารถสรางขนได เชน ขอมลชอของอาวธตางๆ ในเกม แทนทจะเกบ
แยกกนในแตละตวแปร ซงจะเพมขนเรอยๆ เมอมอาวธใหมเพมขน ทาใหยากตอการจดจาและ
การใชงานตวแปรเหลานน แตถาเกบในลสต จะมเพยงตวแปรลสตอาวธตวแปรเดยว ขอมลชอ
ของอาวธจะถกเกบไวภายในรายการของลสตแทน
Scratch การเขยนโปรแกรมสาหรบเดก 79
โปรเจกใน Scratch
การศกษาการเขยนโปรแกรมภาษา Scratch ในหนงสอเลมน เรมจากการหดใชงานตวโปรแกรม
กอนในเบองตน จากนนเรมเรยนรสวนประกอบตางๆ เพอสรางโปรเจก พรอมกบเรยนรแนวคด
หลกการและเทคนคตางๆ ในการเขยนโปรแกรม
ในสวนนเปนการศกษาการเขยนโปรแกรมผานโปรเจกตางๆ ทเสรจเรยบรอยแลว เปนวธการท
เรมจากภาพรวมของโปรเจกกอน ผเรยนสามารถเหนเปาหมายและผลลพธของโปรเจกเปน
อยางไร แลวแตละสวนประกอบของโปรเจกถกสรางอยางไร เรยนรการเขยนสครปตในแตละตว
ละครและเวท เพอทาใหโปรเจกสมบรณไดอยางไร
ทกโปรเจกทจะเรยนรตอไปน มาพรอมกบโปรแกรม Scratch ทาใหแนใจไดวา ถาผเรยนตดตง
โปรแกรม Scratch แลว จะสามารถเรยนรทกโปรเจกจากหนงสอเลมนได โปรเจกใน Scratch
แบงเปนหมวดหมทมเปาหมายทชดเจน แตละหมวดมหลายโปรเจก เมอศกษาโปรเจกหนงใน
แตละหมวดแลว โปรเจกทเหลอในหมวดนน กสามารถเรยนรเพมเตมไดเอง เมอศกษา
หลากหลายโปรเจกแลว จะเหนศกยภาพโดยรวมของ Scratch ผเรยนสามารถเรยนรเพมเตมใน
เวบไซต Scratch ซงมโปรเจกมากมายจากผใชทวโลกไดอก และควรนาความรทศกษามา ไป
ตอยอด ประยกตใช ในการสรางโปรเจกใหมอยางสรางสรรคดวยตวเอง
80 kidsangsan.com สมชาย พฒนาชวนชม
กระบวนการทางานเพอสรางโปรเจกใน Scratch
การสรางโปรเจกใน Scratch กคลายกบการสรางละครเวทเรองหนง ซงประกอบไปดวยเวท
สาหรบการแสดง และตวละครตางๆ เปนสาคญ โดยทตวละครแตละตวกจะมบทบาทของมนเอง
เมอละครเปดฉากแตละตวละครกออกสเวท ดาเนนเรองราวจากตนจนจบ
ผสรางโปรเจกกเปรยบเสมอนผสรางละคร ควบคมการสรางทงหมด ตงแตเขยนเคาโครงของ
ละคร การดาเนนเรอง การจดเวทสถานท เลอกนกแสดง เขยนบท และกากบการแสดงบนเวท
นอกจากนนยงเปนผจดเสอผา ฉากเวท ทาเสยงประกอบ และรายละเอยดอนๆ อกมากมาย ด
เหมอนจะยงยากมากมายเกนกวาเดกๆ จะทาได แตเชอหรอไมทมพฒนา Scratch ทาเรอง
ทงหมดใหเปนเรองงาย เปนขนเปนตอน ทาทายจนตนาการของพวกเขา
การสรางโปรเจก เปนกระบวนการทาซา ทเรมจากสวนเลกๆ ในแตละตวละครและเวท ขยาย
ใหญขน จนเปนโปรเจกทสมบรณ ขณะเขยนโปรแกรม ตองคอยตรวจสอบความถกตองของ
โปรแกรมอยางสมาเสมอ เพอหาขอผดพลาดแลวทาการแกไข เมอมความชานาญมากขน
ผเรยนจะเรมสงเกตเหนวา บางสวนของโปรแกรมมความเหมอนหรอคลายกน ทงจากตวละคร
เดยวกนหรอตางตวละครกน แทนทจะเขยนใหมตงแตตน ผเรยนสามารถนาสวนของโปรแกรม
นน มาใชใหมไดอก หรอนามาปรบเปลยนใหเขากบความตองการ ทาใหลดเวลาในการเขยน
โปรแกรมได
Scratch การเขยนโปรแกรมสาหรบเดก 81
โปรเจก Aquarium
การเปดโปรเจก
เรมตนโปรเจกแรก ดวยวธการเปดโปรเจกตวอยางในโปรแกรม Scratch โดยคลกทเมน File
คลกเลอก Open ... หนาตาง Open Project จะปรากฎ พรอมกบโปรเจกมากมายทมาตอน
ตดตงโปรแกรม จะมปมโฟลเดอรอยดานซายสด ตรงกลางเปนโฟลเดอรยอยหรอไฟลโปรเจก
ตางๆ ดานขวามอจะเปนรายละเอยดของโปรเจกทเลอก
เพอเปดโปรเจก Aquarium ใหคลกปมโฟลเดอร Examples (1) จากนนจะเหนโฟลเดอรยอยใน
หมวดตางๆ ใหเลอกโฟลเดอร Animation ซงจะแสดงโปรเจกตางๆ ในหมวดน สงเกตชอโฟล
เดอรลาสด (Animation) ปรากฎอยท (2) เมอคลกเลอก Aquarium (3) จะเหนรายละเอยดของ
โปรเจกทางขวามอ (4) เปนหนาตาของโปรเจกน (5) เปนขอมลผสรางโปรเจก วธใชงาน
แนวคดในการสรางโปรเจกน และแนวคดตอยอด คลกปม OK เพอเปดโปรเจก
82 kidsangsan.com สมชาย พฒนาชวนชม
ภาพรวมของโปรเจก
โปรเจก Aquarium เปนการสรางภาพเคลอนไหวหรอแอนเมชนในอควาเรยม การทางานหลกๆ
ของปลา ปลาหมก และแมงกระพรน คอ การวายนาไปมาแหวกวายผานกอสาหรายในตกระจก
แตเพอใหดสมจรง เมอชนกระจก (กรอบของเวท) พวกมนจะวายกลบ และใหดเปนธรรมชาต
มากยงขน พวกมนแตตวจะตองมการเปลยนทศการเคลอนทบางบางเวลา โดยททกๆ หนง
วนาทพวกมนมโอกาสหนกลบทศ 180 องศา โอกาสการกลบทศของพวกมนแตละตวมคาไม
เทากน เชน พวกปลาตางๆ จะมโอกาสกลบทศอย 1 ใน 6 และถาสงเกตทฉากหลงจะเหน
ฟองอากาศลอยขน เนองจากการเปลยนแปลงของฉากหลงนนเอง
Scratch การเขยนโปรแกรมสาหรบเดก 83
ตวละครและฉากเวท
โปรเจก Aquarium มปลาชนดตางๆ อย 5 ตว ปลาหมก แมงกระพรน อยางละ 1 ตว และ
สาหราย 3 กอ ฉากหลงเปนพนทรายกบฟองอากาศในนา
ตวละครใน Aquarium มอยหลายตว ถาสนใจในตวละครตวใดตวหนง ตองเลอกมนกอน เชน
ตองการเลอกแมงกระพรน ทาไดโดยการคลกทแมงกระพรนทอยในรายการตวละคร หรออกวธ
หนงคอการดบเบลคลกทแมงกระพรนในเวท ตวละครทถกเลอก (แมงกระพรน) จะมกรอบสฟา
ลอมรอบอย
ตวละครทถกเลอก (แมงกระพรน) จะสามารถเขยนโปรแกรมสครปตไดในแทป Scripts เพมหรอ
ลดชดละครไดในแทป Costumes หรอใสเสยงไดในแทป Sounds
84 kidsangsan.com สมชาย พฒนาชวนชม
การเลอกเวททาไดคลายกบตวละคร คอ คลกเวทในรายการตวละครกบเวท หรอดบเบลคลก
พนทวางบนเวท เมอเลอกเวทแลว จะปรากฏสฟาลอมรอบเวทเชนกน
เวทสามารถเขยนโปรแกรมสครปตไดในแทป Scripts เพมหรอลดฉากหลงเวทไดในแทป
Backgrounds หรอใสเสยงไดในแทป Sounds
Scratch การเขยนโปรแกรมสาหรบเดก 85
สครปตตวละครและเวท
สครปตของปลา
สครปตของปลาชนดตางๆ (Creature2 – Creature6) จะเหมอนกนหมด ดงนนดสครปตของ
ปลา Creature5 เปนตวแทนของปลาทเหลอ
สครปตแรกทาใหปลาเคลอนทไปเรอยๆ ในตปลา และเมอชนผนง (ขอบของเวท) กจะเปลยนทศ
ทางการเคลอนท ดวยการสะทอนกลบออกมา สครปตเรมเมอผใชคลกธงสเขยวเรมตนทางาน
สครปต ตามดวยบลอกควบคมตลอดเวลา (forever) เพอใหปลาวายนาไปเรอยๆ ปลาจะ
เคลอนท (move 1 steps) ไปชาๆ (ทละ 1) และตรวจสอบตวเองวา ชนกรอบของเวทหรอยง ถา
ชนมนจะสะทอนกลบ (if on edge, bounce)
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)
Scratch การเขยนโปรแกรมสาหรบเดก 87
สครปตของแมงกระพรน
สครปตของแมงกระพรนมอย 3 สครปต แตกคลายกบสครปตของปลาเชนกน สครปตแรกเปน
การใชเอฟเฟคเพอทาใหตวเองโปรงแสง โดยการใชบลอกเอฟเฟคลองหน (ghost) ดวยคาท 35
(set ghost effect to 35)
สครปตทสองนนเหมอนกบสครปตแรกของปลาเลย สวนสครปตทสามกคลายกบสครปตทสอง
ของปลาอกเหมอนกน เพยงแตโอกาสในการกลบทศอยท 1 ใน 10 (pick random 1 to 10 = 1)
88 kidsangsan.com สมชาย พฒนาชวนชม
สครปตของสาหราย
หนาทของสาหราย คอ ทาใหตปลาดมมตลกเขาไป ดวยการกาหนดตาแหนงในแนวลกของต
ปลา (เลเยอร Layer) ใหกบสาหรายแตละกอ เพอทาใหดเหมอนวาสาหรายอยลกคนละตาแหนง
ในตปลา สครปตของสาหรายแตละกอเรมตนเมอผใชคลกธงเขยว สาหราย plant1 จะเคลอนไป
ทเลเยอรหนาสดกอน (go to front) จากนนยายถอยหลงไป 2 เลเยอร (go back 2 layers)
สาหราย plant2 ทาคลายกน แตถอยหลงไป 4 เลเยอร สวนสาหราย plant3 กทาเชนกน แต
ถอยหลงดวยการสมคาระหวาง 1 ถง 7
เลเยอรใน Scratch เปนการกาหนดตาแหนงความลกแบบงายๆ ไมซบซอนอะไร เลเยอรทม
ตวเลขมาก กจะอยลกเขาไปดานในของจอคอมพวเตอร การกาหนดเลเยอรทาใหตวละครเสมอน
อยในโลกสามมต ตวละครจะมการเหลอมลากน ตวละครทอยเลเยอรดานหนา (ตวเลขนอย) ก
จะบงตวละครทอยเลเยอรลกลงไป (ตวเลขมาก)
Scratch การเขยนโปรแกรมสาหรบเดก 89
สครปตของเวท
สครปตเวทสวนใหญมกจะเกยวกบฉากหลงของเวท (Backgrounds) สครปตของเวทในโปรเจก
Aquarium ถกเขยนขนเพอใหเหนการเคลอนไหวของฟองอากาศตลอดเวลา โดยการเปลยนฉาก
หลงของเวท
จากสครปตจะเหนวา เมอผใชคลกธงเขยวแลว ฉากหลงจะเปลยนเปนภาพถดไปทละภาพ (next
background) สลบวนกนไป (ใชบลอกตลอดเวลา forever) ตลอดทกๆ 1 วนาท (จบเวลาดวย
บลอก wait) จนกวาโปรแกรมจะหยด การเปลยนแปลงของฉากเปนการแสดงแอนเมชนงายๆ
เพอทาใหเหนฟองอากาศลอยขนตลอดเวลา
บลอก next background ใชสาหรบเปลยนภาพฉากหลงตามลาดบของภาพ เชน ในกรณน ม
ฉากหลง 3 ภาพ และปจจบนแสดงภาพท 1 ทกครงทใชบลอก next background ภาพทจะ
แสดงถดไปคอภาพท 2 ภาพถดไปคอภาพท 3 จากนนจะวนกลบไปภาพท 1 อกครง ลาดบภาพ
จะเปนเชนนไปเรอยๆ เมอยงใชคาสงนอย
90 kidsangsan.com สมชาย พฒนาชวนชม
แอนเมชนจากการเปลยนภาพฉากหลง
ฉากเวทสามารถทาแอนเมชนแบบงายๆ ดวยการเปลยนภาพฉากหลง เชนในกรณน มภาพฉาก
หลงอย 3 ภาพ ทแตกกนในสวนของฟองอากาศ เมอเปลยนภาพฉากหลงทละภาพ ตอเนองกน
ไป จะเหนฟองอากาศลอยขนตลอดเวลา
เนองจากมภาพทใชแสดงแอนเมชนอยางจากด เพอแลกกบการใชขอมลทนองลง ทาใหการ
เปลยนแปลงภาพเกดขนรวดเรวเกนไป จนดไมทน ดงนนตองหนวงเวลาการเปลยนแปลงภาพ
ดวยบลอก wait ซงเปนคาสงหยดทางานชวคราว ตามระยะเวลาทกาหนด
Scratch การเขยนโปรแกรมสาหรบเดก 91
การตอยอดโปรเจก Aquarium
การศกษาโปรเจกทมอยแลว ทาใหเราไดเรยนรการเขยนโปรแกรม จากมมมองของคนอน ไดฝก
อานโปรแกรม และแนวคดเบองหลงของโปรเจกนนๆ วธนยงชวยใหมอใหมหดเขยนโปรแกรม
เรมตนหดเขยนโปรแกรมดวยการตอยอดจากโปรเจกเดม โดยไมตองเรมจากศนย คาแนะนา
ตอไปนเปนตวอยาง เพอดวาจะตอยอดโปรเจกนไดอยางไรบาง
• สงเกตวา เหลาปลา ปลาหมก และแมงกระพรน ตางเคลอนทไมหยดเลย ทาอยางไรให
มนหยดบาง เคลอนทบาง
• พวกมนเคลอนทดวยความเรวเทากนหมด ดแลวงวงนอน ทาอยางไรใหมนเคลอนทดวย
ความเรวตางกน หรอแตละตวสามารถใชความเรวทตางกนได
• เพมความหลากหลายในการเคลอนทของปลา แทนทจะใชการสมเพอเปลยนทศ ลองให
พวกมนเคลอนทไปพรอมๆ กบการเปลยนทศ โดยการใชบลอกเปลยนทศทางคกบ
บลอกเคลอนท ทดลองเปลยนคาตางๆ ดวาคาไหนททาใหปลาเคลอนทเปนธรรมชาต
มากขน
จะเหนวาการปรบเปลยนโปรแกรมใน Scratch นนทาไดงาย และทสาคญเหนผลไดแทบทนท
ทาใหการเรยนเขยนโปรแกรมใน Scratch ไมยากเหมอนภาษาอน
92 kidsangsan.com สมชาย พฒนาชวนชม
โปรเจก MadLibs
โปรเจก MadLibs เปนการเลาเรอง (Story telling) ทมการโตตอบกบผใช กอนจะเขาสการเลา
เรอง เรมตนเปดโปรเจก MadLibs ดวยการคลกเมน File เลอก Open จากนนคลกปม
Examples เลอกโฟลเดอร Stories เลอกโปรเจก MadLib
ภาพรวมโปรเจก
MadLibs เปนการเลาเรอง ทมผหญงเปนผดาเนนเรอง เรมตนดวยการถามตอบกบผใช จากนน
ขอมลคาตอบจากผใชจะถกสงตอใหกบวาฬ 2 ตว นาออกมาเลาเรองตลกผกกบคาตอบทไดมา
วาฬทงสองตวมการสงตอบทบาทและบทพดระหวางกน พรอมกบแสดงแอนแมชน เสยง
ประกอบ และเอฟเฟคบนฉากหลง เพอเพมสสรรใหกบการเลาเรอง
Scratch การเขยนโปรแกรมสาหรบเดก 93
ตวละครและฉากเวท
ตวละครมเพยงผหญงเปนผดาเนนเรอง วาฬตวใหญและวาฬตวเลกเปนผเลาเรอง และฉากเวท
เปนววทวทศน
สครปตตวละครและเวท
สครปตของผดาเนนเรอง
สครปตของผหญงซงเปนผดาเนนเรอง เรมตนดวยการพดเกรนกอนจะถามตอบกบผใช คาตอบ
จากผใชจะถกเกบไว แลวสงตอใหวาฬ 2 ตวเปนผเลาเรองตอไป
สครปตเรมเมอผใชคลกธงสเขยว เปนการเรมตนการเลาเรอง โดยผดาเนนเรองไดพดเกรนสาม
ประโยคๆ ละ 2 วนาท ดวยบลอกพด (say)
94 kidsangsan.com สมชาย พฒนาชวนชม
จากนนเปนการถามตอบกบผใช โดยถามผใชดวยบลอกถาม (ask) แลวรอคาตอบจากผใช เมอ
ผใชพมพคาตอบและกดคย Enter แลว คาตอบจะถกเกบไวทตวแปรภายในชอ answer
เนองจากทกครงทมการถามตอบ คาตอบใน answer จะถกแทนทดวยคาตอบใหมลาสดเสมอ
เพราะฉนนถาตองการนาแตละคาตอบมาใชภายหลง ตองสรางตวแปรใหม มาเกบคาคาตอบนน
แทน
โปรเจกนสรางตวแปรมา 4 ตว คอ action name thing1 และ thing2 เพอเกบแตละคาตอบของ
ผใช เมอไดคาตอบทงหมดแลว กจะเรมการเลาเรอง ดวยการสงสาร start story ใหวาฬ 2 ตว
ออกมาเลาเรองผกกบคาตอบทไดรบมาในตวแปรทงส
การถามตอบกบผใช
การโตตอบระหวางผใชกบโปรแกรม มหลายวธ เชน การคลกเมาส การกดคยบอรด การใชเสยง
เปนตน ในโปรเจกนผดาเนนเรองมการถามตอบกบผใช คาถามจะปรากฎบนเวท ผใชตอบผาน
คยบอรด โปรแกรมจะรอรบคาตอบ และรอจนกวาผใชจะกดคย Enter หรอคลกเครองหมายถก
คาตอบทไดจะถกเกบไวในตวแปร
คาตอบ จะถกแชรระหวางตวละครทกตว และจะเปลยนแปลงทกครงทใชบลอกคาถาม
ถาตองการเกบคาตอบปจจบนไว ตองเกบไวในตวแปรอนทสรางขนมาใหม เชน
ตองการเกบคาในตวแปร answer ในตวแปร name โดยใชบลอก ตว
แปร name เปนตวแปรหนงในรายการตวแปรทสรางโดยผใช
Scratch การเขยนโปรแกรมสาหรบเดก 95
ความแตกตางในการถามตอบระหวางตวละครกบเวท
ถาคาถามมาจากตวละคร คาถามจะถกพดจากตวละคร และจะปรากฎกรอบใหผใชพมพเพอ
ตอบคาถาม ดานลางของเวท
แตถาคาถามมาจากเวท คาถามจะปรากฎในกรอบการถามตอบ ดานลางของเวท
96 kidsangsan.com สมชาย พฒนาชวนชม
การสรางตวแปร
วธสรางตวแปรนนใหเลอกบลอกหมวดตวแปร จากนนคลกปมสรางตวแปร (Make a variable)
คาถามทผดาเนนเรองถาม ตองการ 4 คาตอบ ดงนนตองสรางตวแปรมา 4 ตว
ตวแปรตองมชอ เพอเรยกใชภายหลง ชอตวแปรทง 4 นน คอ action name thing1 และ thing2
เมอสรางตวแปรแลว จะเกดบลอกใหมสาหรบตวแปรทง 4 ในบลอกหมวดตวแปร โดยดานหนา
ของบลอกเหลาน จะมกลองสเหลยมทสามารถคลกเลอกได ถาคลกเลอกจะมเครองหมายถก
ปรากฎ และจะทาใหตวแปรนแสดงคาปจจบนของมนบนเวท
การกาหนดคาใหตวแปร ใหใชบลอกตงคา (set) โดยเลอกชอตวแปรทตองการกอน (จาก
รายการตวแปรทงหมดทถกสรางขน) จากนนกาหนดคาใหมน ซงคานนอาจเปนตวเลขหรอ
ตวอกษร ทพมพเขาไปตรงๆ ในชองวาง หรอใชคาทอยในบลอกตวแปรกได เชน บลอกตวแปร
answer
Scratch การเขยนโปรแกรมสาหรบเดก 97
การแชรขอมล
ขณะทสรางตวแปร ยงสามารถกาหนดตวแปรใหเปนตวแปรสวนตวได โดยคลกเลอก For this
sprite only เพอใชในตวละครตวทสรางตวแปรนเทานน หรอกาหนดตวแปรใหเปนตวแปร
สวนรวมได โดยคลกเลอก For all sprites เพอใหทกตวละคร รวมทงเวท สามารถใชตวแปรนได
ถาใหทกตวละครและเวทใชตวแปรได ตวแปรทสรางขนใหม จะปรากฎอยในบลอกหมวดตวแปร
ของทกตวละคร รวมทงเวทดวย วธนเปนการแชรขอมลระหวางตวละครตางๆ และเวท เหมอน
ในโปรเจกน ตวแปรทใชเกบคาตอบนน เปนตวแปรสวนรวมทผดาเนนเรองสรางขน แลววาฬ
สองตวสามารถเอาไปใชไดขณะเลาเรอง
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 จากการสงสารถง
ตวเอง
Scratch การเขยนโปรแกรมสาหรบเดก 99
เมอวาฬตวใหญไดรบสาร story 1 จะเรมสครปตดวยการเปลยนชด (switch to costume) เปน
whale happy1 จากนนพดหนงประโยคกอนจะแสดงแอนเมชนดใจ แลวพดตอ โดยนาขอมลใน
thing1 มารวมในคาพดดวย โดยใชบลอกเชอมคา (join) แลวสงสาร story 2 เพอใหวาฬตวเลก
ไดพดตอ
เมอวาฬตวเลกไดรบสาร story 2 กจะพดตอบวาฬตวใหญ โดยนาขอมลใน action มารวมใน
คาพดดวย โดยใชบลอกเชอมคา (join) แลวสงสาร story 3 เพอใหวาฬตวใหญไดพดตอ
เนองจากขอมลใน action อยระหวางประโยค จงตองเชอมคาสองครง โดยใชบลอกเชอม (join)
ซอนกน
100 kidsangsan.com สมชาย พฒนาชวนชม
แอนเมชนจากการเปลยนชดตวละคร
ระหวางการสนทนาของวาฬทงสองตว วาฬตวใหญแสดงแอนเมชนดใจ โดยใชเทคนคการ
เปลยนชด (switch to costume) สลบไปมาระหวางชด whale happy2 กบชด whale happy1
จานวน 3 ครงภายในบลอกควบคมทาซา (repeat)
สงเกตวาในแอนเมชนจะมบลอกคอย (wait) หลายแหง ทงนเพราะแอนเมชนจะเกดขนเรวไป
มองไมทน จงตองหนวงเวลาดวยบลอกคอยในแตละครงทเปลยนชด
Scratch การเขยนโปรแกรมสาหรบเดก 101
วาฬตวใหญยงสามารถแสดงแอนเมชนไดอกหลายอารมณ (เฉย โกธร) ทาใหมหลายชดมาก
เพอแสดงในแตละอารมณ ดงนนการตงชอชดใหสอดคลองกบอารมณ จะทาใหงายตอการ
นามาใชทาแอนเมชน
เมอวาฬตวใหญไดรบสาร story 3 จะพดตอบวาฬตวเลก แลวเปลยนชดเปน whale basic
จากนนแสดงแอนเมชนโกธร โดยการเปลยนชดระหวาง whale mad1 กบ whale mad2 กบ
whale mad3 สลบกบการคอย 0.2 วนาท ทงหมด 3 ครงภายในบลอกควบคมทาซา (repeat)
จากนนเปลยนชดเปน whale basic อกครง แลวพดตอโดยนาขอมลใน thing2 มารวมในคาพด
ดวย กอนสงสาร story 4 เพอใหวาฬตวเลกไดพดตอ
102 kidsangsan.com สมชาย พฒนาชวนชม
เมอวาฬตวเลกไดรบสาร story 4 กจะพดตอบวาฬตวใหญหนงประโยค แลวแสดงแอนเมชนดวย
วธหมนตวมนเอง โดยใชบลอกเลยว (turn) ทละ 36 องศา สลบกบการคอย 0.01 วนาท ทาซา
10 รอบภายในบลอกควบคมทาซา (repeat) กจะหมนครบ 360 องศา 1 รอบพอด จากนนพด
ตอโดยนาขอมลใน name มารวมในคาพดดวย โดยใชบลอกเชอมคา (join) ซอนกน กอนจะพด
ปดประโยคสดทายของการเลาเรอง
Scratch การเขยนโปรแกรมสาหรบเดก 103
การสงและรบสาร
จะทาอยางไรใหตวละครหรอเวท สอสารโตตอบกน รจงหวะเวลาทตวเองจะตองพดตองแสดง ใน
Scratch การสงตอการทางานระหวางตวละคร ใชวธการสงสารออกไป โดยอาศยชอของสารท
แตกตางกน เปนตวสงไมใหระหวางกน เมอตวละครหรอเวทไดรบสารทสนใจ กจะรวา ไดเวลาท
จะตองเรมทางานตอแลว
การสงสารจะใชบลอกสงกระจาย (broadcast) พรอมกบเลอกสารทมอยในรายการ ถาตองการ
สรางสารใหม ทาไดงายๆ โดยคลกสามเหลยมชลงในบลอกสงกระจาย คลก new... แลวใสชอ
สารลงไป เชน ตองการสรางสารใหมชอ story 5
ตวละครทกตวรวมทงเวทจะไดรบสารทสงออกมาทกสาร ไมวาใครจะเปนคนสง แตเลอก
ตอบสนองกบสารทตวเองสนใจเทานน ดวยการใชบลอก เรมตนสครปตใหม
โดยสามารถเลอกสารทสนใจไดจากรายการ และเมอตวละครหรอเวทไดรบสารทสนใจ กจะ
ตอบสนองดวยการเรมทางานในสครปตนน
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)
Scratch การเขยนโปรแกรมสาหรบเดก 105
การตอยอดโปรเจก MadLibs
• ฝกการใชตวแปรลสต เกบขอมลการถามตอบระหวางผดาเนนเรองกบผใช แทนการเกบ
ขอมลแยกจากกนในหลายๆ ตวแปร
• นอกจากการใชตวหนงสอในการเลาเรองแลว Scratch สามารถอดเสยงผานไมโครโฟน
แลวนามาเปดได ดงนนการใชเสยงพดในการเลาเรองเพมเตม จะทาใหเรองนาสนใจ
มากขน
• เพอใชสอท Scratch มใหอกอยาง คอการถายภาพผใชจากกลอง การเลาเรองนาจะ
สนกมากยงขน ถาบอกใหผใชถายรปตวเองจากกลองในคอมพวเตอร จากนนเลาเรอง
ผกกบรป
สครปตดานลางน เปนตวอยางสครปตถามผใชใหถายรปของตวเอง โดยเรมจากซอน
ตวเองกอน (hide) เมอถกถามใหถายรป ใหคลกทแทป Costumes คลกปม Camera
คลกปมกลองถายรปเพอถายรป คลกปม Done จบการถายรป จากนนคลกปม
เครองหมายถกบนเวท เพอรนสครปตตอ รปทพงถายไปจะเปนชดตวละครปจจบนโดย
อตโนมต โดยปกตรปทถายจะมขนาด 320 x 240 อาจใหญเกนไป ใหใชบลอกกาหนด
ขนาดใหเลกลงได (set size to 30 %) จากนนจงแสดงรปออกมา (show)
106 kidsangsan.com สมชาย พฒนาชวนชม
โปรเจก SimpleCircuit
โปรเจก SimpleCircuit เปนการจาลอง (simulation) แผงวงจรไฟฟาแบบงายๆ เรมดวยการเปด
โปรเจก SimpleCircuit โดยเลอก Open ในเมน File จากนนคลกปม Examples เลอกโฟลเดอร
Simulations เลอกโปรเจก SimpleCircuit
ภาพรวมของโปรเจก
SimpleCircuit เปนการจาลองแผงวงจรอนกรมอยางงาย โดยตอหลอดไฟ แบตเตอร และสวตช
เขาดวยกน ถาแผงวงจรตอโดยสมบรณแลว เมอเอาเมาสวางเหนอสวตช หลอดไฟกจะสวางขน
นอกจากภาพของอปกรณตางๆ การจาลองนยงสามารถแสดงรปสญลกษณของลายวงจรไฟฟา
และอปกรณแตละตว
Scratch การเขยนโปรแกรมสาหรบเดก 107
ตวละครและเวท
SimpleCircuit มตวละครทเปนอปกรณเพยง 3 ตว คอ สวตช แบตเตอร หลอดไฟ พรอมกบ
คาสงบอกวธใชงาน บนฉากหลงเวททเปนแผงวงจรไฟฟาแบบอนกรม
สครปตตวละครและเวท
สครปตของใบคาสง
ใบคาสงแสดงวธการใชดงน คลกธงเขยวเรมตนการจาลอง ลากอปกรณแตละตวเชอมกบ
แผงวงจร เปดหลอดไฟโดยใชเมาสวางบนสวตช กด space bar เพอดแบบสญลกษณของ
แผงวงจร
สครปตของใบคาสง เรมเมอผใชคลกธงเขยว กจะแสดงวธใชงานกอนเรมการจาลอง จากนน
วธใชงานจะหายไป โดยใชเอฟเฟคลองหน (set ghost effect to 100)
108 kidsangsan.com สมชาย พฒนาชวนชม
วธใชงาน
เมอผใชคลกธงเขยว อปกรณทงหมดจะมาอยตรงกลาง เพอใหผใชนาอปกรณไปวางในแผงวงจร
เอง และเมอกด space bar จะเหนสญลกษณสดาของลายวงจรและอปกรณ ทงบนเวทและใน
รายการตวละคร
การวางอปกรณไมขนกบตาแหนงเพราะเปนวงจรอนกรมอยางงาย ขอเพยงใหอปกรณแตะขว
แผงวงจรเปนใชได แตเพอความสวยงามการวางใหข วของอปกรณกบแผงวงจรตรงกนจะดมาก
รปถดไปแสดง (1) การวางทถกตองสวยงาม (2) เมอเอาเมาสชทสวตช หลอดไฟจะสวางทนท
(3) เมอกด space bar จะเหนสญลกษณทางไฟฟาสดา
Scratch การเขยนโปรแกรมสาหรบเดก 109
แตถาวางอปกรณแคใหสวนหนงสวนใดแตะขวแผงวงจรแลว การจาลองยงคงถกตองอย แตขด
ความรสกไปหนอย ทงนเกดจากการเขยนโปรแกรม รปถดไปแสดงใหเหนวา (1) แมขวจะถก
วางไมตรงตาแหนง (2) หลอดไฟกยงทางานได (3) เมอกด space bar จะเหนสญลกษณทาง
ไฟฟาทอยผดตาแหนง
110 kidsangsan.com สมชาย พฒนาชวนชม
สครปตของเวท
ฉากหลงเวทเปนแผงวงจรอนกรมอยางงาย มข วตออปกรณ 3 แหง ตวขวมสเหลองกบสฟาเพอ
ใชในการเชอมตอกบอปกรณ แผงวงจรม 2 รปแบบ แบบปกตทมสสนสวยงาม กบแบบ
สญลกษณทางไฟฟาทเปนสดา
สครปตของแผงวงจรเรมเมอผใชคลกธงเขยว งานหลกของแผงวงจรทาแคสลบรปแบบ เมอผใช
กดคย space bar โดยใชบลอกควบคมถามฉะนน (if-else) ในการกาหนดการแสดงรปแบบ โดย
ตรวจสอบวาผใชกด space bar หรอยง (key space pressed?) ถาใช ใหแสดงภาพฉากหลง
เปนรปแบบสญลกษณ (Symbols) มฉะนน (else) แสดงรปแบบสสนปกต (Blank Circuit)
แตเนองจากผใชจะกดคย space bar เมอไหรกได ดงนนการสลบรปแบบทกลาวมา ตองอยใน
บลอกควบคมตลอดเวลา (forever) เพอตรวจสอบการกดคยตลอดเวลา
Scratch การเขยนโปรแกรมสาหรบเดก 111
สครปตของแบตเตอร
แบตเตอรมสองชด ชดแรกเปนรปแบตเตอรเหมอนจรง ชดทสองเปนรปสญลกษณทางไฟฟา
ของแบตเตอร สงเกตแมกญแจทตอจากชอ Battery จะเปดอย หมายความวา แบตเตอรสามารถ
ใชเมาสลากไปมาไดขณะโปรแกรมทางานในโหมดนาเสนอ หรอบนเวบไซตของ 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 (ยงไมไดตอกบแผงวงจร)
Scratch การเขยนโปรแกรมสาหรบเดก 113
สครปตของหลอดไฟ
หลอดไฟมสามชด ชดแรกเปนรปหลอดไฟตด ชดทสองเปนรปหลอดไฟดบ รปทสามเปนรป
สญลกษณทางไฟฟาของหลอดไฟ
สงเกตแมกญแจทอยถดจากชอ Bulb จะเปดอย หมายความวา หลอดไฟสามารถใชเมาสลากไป
มาไดขณะโปรแกรมทางานในโหมดนาเสนอ หรอบนเวบไซตของ Scratch
114 kidsangsan.com สมชาย พฒนาชวนชม
สครปตแรกของหลอดไฟ เปนการตรวจสอบวาหลอดไฟตอกบแผงวงจรแลวหรอยง คลายๆ กบ
แบตเตอร สครปตเรมตนเมอผใชคลกธงเขยว จากนนกาหนดขนาดเรมตนของหลอดไฟเทาของ
จรงกอน ดวยบลอกตงคาขนาด (set size to 100%) ทงนเพราะขนาดมผลตอการเชอมเขา
แผงวงจร
ถดไปเปนการตรวจสอบการเชอมตอหลอดไฟกบแผงวงจร ภายใตการควบคมของบลอก
ตลอดเวลา (forever) การตรวจสอบจะใชบลอกถามฉะนน (if-else) โดยตรวจดวาหลอดไฟ
สมผสกบสเหลองและสฟา (ซงเปนสของขวในแผงวงจร) หรอยง ถาใช ใหตงคาตวแปร
balbconnected เทากบ 1 (ตอกบแผงวงจรแลว) ถายงใหตงคาเปน 0 (ยงไมไดตอกบแผงวงจร)
Scratch การเขยนโปรแกรมสาหรบเดก 115
สครปตทสอง จะคอยตรวจสอบการกด space bar และการเปดสวตชจากผใช โดยเรมสครปต
เมอผใชคลกธงเขยว จากนนกาหนดขนาดเรมตนของหลอดไฟเทาของจรงกอน ดวยบลอกตงคา
ขนาด (set size to 100%) จากนนหลอดไฟจะมาอยตรงกลางแผงวงจร (go to x:-111 y:-54)
เพอใหผใชนามนไปวางในแผงวงจรเอง
ถดไปเปนการตรวจสอบการกดคย space bar และการเปดสวตชจากผใช ซงเกดเมอใดกได
ดงนนตองตรวจสอบภายในบลอกควบคมตลอดเวลา (forever) การตรวจสอบจะทา 2 ชน คอ
ตรวจสอบการกดคยกอน (key space pressed?) ในบลอกควบคมถามฉะนน (if-else) ถาคยถก
กดจะเปลยนชด เปนสญลกษณทางไฟฟาของหลอดไฟ ถาไมไดกดคย (else) จะตรวจสอบอก
ครงวา หลอดไฟตดหรอไม โดยทหลอดไฟจะตดได กตอเมอทกอปกรณเชอมตอแผงวงจรและ
สวตชถกเปด
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) ชวยในการ
ประมวณผล วาสดทายแลวเงอนไขไดจรงหรอเทจ โดยททกเงอนไขตองเปนจรงทงหมดจงจะให
ตรรกะสดทายเปนจรง
Scratch การเขยนโปรแกรมสาหรบเดก 117
การประมวณผลทางตรรกะ
การประมวณผลทางตรรกะใน Scratch ทาได 3 แบบ คอใช ตรรกะและ (and) ตรรกะหรอ (or)
ตรรกะไม (not) คาตอบหาไดจากตารางความจรง (Truth table) ในแตละแบบดงน
ตารางความจรงของเงอนไข A กบเงอนไข B เมอผานโอเปอรเรเตอรตรรกะแลวจะไดผลลพธ C
เปนตารางความเปนไปไดทงหมดเมอเงอนไขของ A กบ B เปนจรง (T) หรอเปนเทจ (F)
ตรรกะและ (and) จะใหผลลพธเปนจรงไดกรณเดยว คอเงอนไข A และ B ตองเปนจรงทงค
กรณอนๆ เปนเทจหมด
จากตารางความจรงของตรรกะและ โอเปอรเรเตอรตรรกะและ จงถกใชในสครปตหลอดไฟ
เพราะตองการใหทกเงอนไขเปนจรง แตการตรวจสอบเงอนไขหลายๆ เงอนไข ตองทาเปนคๆ
เชน ในกรณสครปตหลอดไฟ เชคสวตชกบหลอดไฟกอน ผลลพธทไดนาไปเชคกบแบตเตอรอก
ท กจะไดคาตอบสดทาย
118 kidsangsan.com สมชาย พฒนาชวนชม
ตรรกะหรอ (or) จะใหผลลพธเปนเทจไดกรณเดยว คอเงอนไข A และ B ตองเปนเทจทงค กรณ
อนๆ ใหคาตอบเปนจรงหมด
ตรรกะไม (not) จะใหผลลพธสลบกบขอเทจจรงทเปนอย คอจากจรงเปลยนเปนเทจ หรอจาก
เทจเปลยนเปนจรง
Scratch การเขยนโปรแกรมสาหรบเดก 119
สครปตของสวตช
สวตชมสามชด ชดแรกเปนรปสวตชปด ชดทสองเปนรปสวตชเปด รปทสามเปนรปสญลกษณ
ทางไฟฟาของสวตช
สงเกตแมกญแจทอยถดจากชอ Switch จะเปดอย หมายความวา สวตชสามารถใชเมาสลากไป
มาได ขณะโปรแกรมทางานในโหมดนาเสนอ หรอบนเวบไซตของ Scratch
120 kidsangsan.com สมชาย พฒนาชวนชม
สครปตของสวตชดเหมอนจะซบซอน เพราะทาทกอยางภายในสครปตเดยว ทาใหสครปตยาว
แตจรงๆ แลวไมซบซอน โดยเฉพาะเมอดสครปตของอปกรณอนๆ มาแลว
สครปตของสวตชเรมเมอผใชคลกธงเขยว จากนนกาหนดขนาดเรมตนของสวตชเทาของจรง
กอน ดวยบลอกตงคาขนาด (set size to 100%) ทงนเพราะขนาดมผลตอการเชอมเขาแผงวงจร
จากนนสวตชจะมาอยตรงกลางแผงวงจร (go to x:133 y:-18) เพอใหผใชนามนไปวางใน
แผงวงจรเอง
ถดไปเปนการตรวจสอบการกดคย space bar การเชอมตอแผงวงจร และการเปดสวตชจากผใช
ซงเกดเมอใดกได ดงนนตองตรวจสอบภายในบลอกควบคมตลอดเวลา (forever)
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)
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) นาทาทายกวาแบบแรก ลองฝกทาดจะรวาไมยากเลย
Scratch การเขยนโปรแกรมสาหรบเดก 123
การตอยอดโปรเจก SimpleCircuit
• แกไขการตอวงจรใหถกตอง โดยใหข วไฟฟาตอกนเพยงอยางเดยว
• เมอสวตชเปด แบตเตอรจะถกใชงาน พลงงานจะลดลงตามเวลาในการใชงาน ดงนน
เพมตวแปรพลงงานของแบตเตอร แลวจบเวลาการใชงานของแบตเตอรทกครงท
หลอดไฟตด เมอแบตเตอรหมด หลอดไฟจะตองดบ
• เมอพลงงานของแบตเตอรลดลง เสยงสวางกจะลดลง เพมแอนเมชนใหกบหลอดไฟ
แสดงการลดแสงลงตามพลงงานทเหลอของแบตเตอร
124 kidsangsan.com สมชาย พฒนาชวนชม
โปรเจก GardenSecret
โปรเจก GardenSecret เปนการแสดงศลปะแบบโตตอบ (Interactive Art) เรมตนดวยการเปด
โปรเจก โดยเลอก Open ในเมน File จากนนคลกปม Examples เลอกโฟลเดอร Interactive Art
เลอกโปรเจก GardenSecret
ภาพรวมของโปรเจก
โปรเจกนเปนการสรางสวนดอกไม ทผเสอเปนผนาดอกไมมาทสวนแหงน โดยอาศยการ
ออกแบบจากผใช เปนผชนาตาแหนงการปลกดอกไม ดวยการใชเมาสคลกเพอระบตาแหนง
ผเสอสามารถปลกดอกไมไดหลากหลายสสน ระหวางการปลกจะมเสยงดนตรประกอบ ทาให
สวนแหงนดมชวตชวา และถาโชคด นางฟากจะปรากฎ บนมาเทยวชมสวนแหงน
Scratch การเขยนโปรแกรมสาหรบเดก 125
ตวละครและฉากเวท
ตวละครใน GardenSecret มผเสอ นางฟา กลบดอกไม 5 ชนด และใบคาสงในการใชงาน สวน
ฉากหลงเวทเรยบงายดวยสฟาออน
สครปตของตวละครและเวท
สครปตของใบคาสง
ใบคาสงเปนคาแนะนาสนๆ ใหผใชคลกตาแหนงทตองการปลกตนไมในสวนแหงน
สครปตของใบคาสง เรมเมอผใชคลกธงเขยว จากนนแสดง (show) คาแนะนาการปลกดอกไม
และรอ (wait) 3 วนาท กอนทจะหายไป (hide)
126 kidsangsan.com สมชาย พฒนาชวนชม
สครปตของผเสอ
ผเสอเปนผนาดอกไมมาทสวนแหงน โดยปกตมนจะซอนตว และรอคาสงจากผใชวาจะใหปลก
ดอกไมตรงไหน เมอใดทผเสอรแลววาจะปลกดอกไมตรงไหน มนกจะบนไปทนน และเลอกวาจะ
ปลกดอกไมชนดใด ดอกไมทไดรบเลอกกจะบานออก และถาดอกไหนโชคด กจะมนางฟาลงมา
เชยชม
สครปตแรกของผเสอเรมตนเมอผใชคลกธงเขยว จากนนซอนตว (hide) แลวทาตวใหเลกลง
(set size to 25%) และกอนทมนจะวาดดอกไมในสวน มนจะทาใหสวนนวางเปลากอน ดวยการ
ลบ (clear) ทกอยางทอยบนเวท
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
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 และถาโชคด นางฟากจะ
มาเยอน
Scratch การเขยนโปรแกรมสาหรบเดก 129
สครปตของนางฟา
ทกครงทผเสอปลกดอกไม จะเชญนางฟาใหไปเยยมชมดอกทปลกใหม แตนางฟาจะไปหรอไม
ขนอยกบวาดอกนนจะมโชคหรอไม
สครปตของนางฟา เรมเมอผใชคลกธงเขยว ปกตนางฟาจะไมปรากฎกาย (hide) แตนางฟาจะ
คอยตรวจสอบอยตลอดเวลา วาดอกไหนมโชค ในบลอกตลอดเวลา (forever)
คาความโชคดอยในตวแปร lucky ทผเสอสมขนมา นางฟาจะคอยจนกระทง คาความโชคดมคา
มากกวา 95 เมอใด (wait until lucky > 95 คาสมสงขนาดน ตองโชคดจรงๆ) นางฟากจะปรากฎ
กาย ณ ตาแหนงของดอกไม (ตาแหนงทเมาสคลก mouse-pointer)
วธการเยยมชมของนางฟา อยภายใตเงอนไขวาดอกไมปลก ณ ตาแหนงใด (mouse x > 0) บน
เวท ถาอยทซกตะวนออก (x > 0) นางฟาจะหนไปยงทศตะวนตก (-90) มฉะนนจะหนไปยงทศ
ตะวนออก (90) โดยใชบลอกชไปยงทศ (point to direction) เปนตวกาหนดการหน
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 หรอไม เปนตน
Scratch การเขยนโปรแกรมสาหรบเดก 131
สครปตของดอกท 1
สครปตแรกของดอกท 1 เรมเมอผใชคลกธงเขยว จากนนซอนตวกอน (hide) รอการเรยกใหวาด
รป
สครปตทสองของดอกท 1 เรมเมอไดรบสาร draw-flower ดอกท 1 จะวาดดอกไม กตอเมอ
ตวเองถกเลอก ดงนนการวาดรปตองอยในบลอกเงอนไขถา (if)
ถาผเสอเลอกดอกท 1 (flower=1) ดอกท1 จะไปยงตาแหนงของผเสอ (go to butterfly) ยาย
มาเลเยอรดานหนา (go to front) เพอวาดรปทบรปดอกอนๆ ทถกวาดกอนหนาน รวมทงตว
ผเสอดวย เพอใหการวาดดอกไมนาสนใจ มนจะสงเสยง Fall1 ประกอบดวย
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 ดอก
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
เปนตน
134 kidsangsan.com สมชาย พฒนาชวนชม
สครปตของดอกท 2
สครปตแรกของดอกท 2 เหมอนกบสครปตแรกของดอกท 1 สวนสครปตทสองของดอกท 2
คลายกบสครปตทสองของดอกท 1 แตดอกท 2 มกลบดอกอย 2 ชน โดยจะเรมตนวาดดวยกลบ
แบบแรก (costume1) เหมอนดอกท 1 แลวจงวาดกลบแบบทสอง (costume2)
Scratch การเขยนโปรแกรมสาหรบเดก 135
โดยสครปตเรมเมอไดรบสาร draw-flower ถาตวเองถกเลอก (flower=2) กจะไปทผเสอ ยาย
มาเลเยอรหนาสด แลวเปลยนชดเปนกลบแบบแรก (switch to costume costume1) จากนนสง
เสยง Beep1
การตงคาของปากกาทาเหมอนดอกท 1 กอนจะวาดกลบแบบแรกดวยการตราประทบ แลวหมน
ตามเขมนาฬกา 15 องศา จานวน (360/15) ครง ไดหนงรอบพอด
จากนนเปลยนชดเปนกลบแบบทสอง ลดขนาดกลบดวยการสมคาตงแต 25 ถง 100 (เปน
กลบชนใน) จากนนกประทบดวยกลบแบบทสอง โดยคราวนจะหมนทวนเขนนาฬกาทกๆ 20
องศา จานวน 360/20 ครง ไดกลบอกหนงชน
136 kidsangsan.com สมชาย พฒนาชวนชม
สครปตของดอกท 3
สครปตแรกของดอกท 3 เหมอนกบสครปตแรกของดอกท 1 สวนสครปตทสองของดอกท 3
คลายกบสครปตทสองของดอกท 1 โดยสครปตเรมเมอไดรบสาร draw-flower ถาตวเองถกเลอก
(flower=3) กจะไปทผเสอ ยายมาเลเยอรหนาสด แลวสงเสยง Cowbell1
จากนนตงคาของปากกาเหมอนดอกท 1 แลววาดดอกไมดวยการตราประทบ โดยหมนตามเขม
นาฬกา 30 องศา จานวน (360/30) ครง ไดหนงรอบพอด
Scratch การเขยนโปรแกรมสาหรบเดก 137
สครปตของดอกท 4
สครปตของดอกท 4 คลายกบสครปตของดอกท 3 มาก ตางกนตรงเสยงประกอบ ทใชเสยง
Laser1 แทน
138 kidsangsan.com สมชาย พฒนาชวนชม
สครปตของดอกท 5
สครปตของดอกท 5 กคลายกบสครปตของดอกท 3 มากเหมอนกน ตางกนตรงเสยงประกอบ ท
ใชเสยง Gong1 แทน
Scratch การเขยนโปรแกรมสาหรบเดก 139
การตอยอดโปรเจก GardenSecret
• รปแบบตราประทบ (stamp) แบบอนๆ เชน กลบเวนกลบ กลบวนแลวมขนาดลดลง
ดวย เหมอนวงกนหอย (spiral) กลบสแฉก กลบหาแฉก เปนตน
• การวาดดอกไม ดวยการวาดลายเสน จากการเคลอนท และการเปลยนทศ
• แทนทจะเปนดอกไม เปลยนเปนพลแทน เมอผใชคลกทใด จะมแอนเมชนขณะพลขน
ระเบด แลวหายไป พรอมทงเสยงประกอบ การออกแบบคอนขางยาก แตกทาทาย
เหมอนกน โดยเฉพาะทาใหพล คอยๆ หายไปเมอเวลาผานไป
140 kidsangsan.com สมชาย พฒนาชวนชม
โปรเจก PianoMachine
โปรเจก PianoMachine เปนโปรเจกทาแอนเมชนงายๆ เนนทเสยงดนตร จงถกจดอยในกลม
ของ Music and Dance เปดโปรเจกดวยการเลอก Open ในเมน File จากนนคลกปม
Examples เลอกโฟลเดอร Music and Dance แลวเลอกโปรเจก PianoMachine
ภาพรวมของโปรเจก
บนเวทมคยเปยโน ซงแตละคยมเสยงตางกน เมอลกบอลมากระทบ หรอผใชคลกทคยเปยโน
คยนนจะแสดงแอนเมชนงายๆ เสมอนวาคยเปยโนถกกดลงพรอมกบเสยงคยนน แลวคยเปยโน
กเดงขนเอง ขณะทโปรแกรมทางาน ผใชสามารถลากคยเหลานไปวางตาแหนงใหมได เพอให
เกดเสยงรปแบบใหมๆ
Scratch การเขยนโปรแกรมสาหรบเดก 141
บนเวทยงมปมตางๆ (User interface) ใหผใชควบคม ขณะโปรแกรมทางาน เชน ตอนเรมตน
โปรแกรม ลกบอลจะมอย 3 ลก เมอกดปมจานวนลกบอล (ปมสเหลอง) ลกบอลจะเพมขนทละ
ลก เมอถง 6 ลกแลว จะวนกลบมาท 1 ลกใหม
ปกตการเคลอนทของลกบอล จะเคลอนทไปเรอยๆ ถาชนขอบเวทกจะสะทอนกลบ แตถาชนคย
เปยโนแลว อาจสะทอนกลบ (rebound) หรอผานเลยไป (through) ทงนขนกบสถานะของปม
ควบคมการสะทอน (ปมสนาเงน)
นอกจากสองปมนแลว ยงมสไลเดอรทใชควบคมความเรวของลกบอล และถาผใชคลกทเวท ลก
บอลทกลกกจะเปลยนทศเองแบบสมอกดวย
ตวละครและเวท
โปรเจกนมตวละครมากถง 26 ตว แตถาจดกลมแลว จะมใบคาสง 1 ใบ ปมคาสง 2 ปม ลกบอล
6 ลก และคยเปยโน 17 คย สวนฉากหลงเวทเรยบงายเปนเฉดสฟาตามแนวรศมวงกลม
142 kidsangsan.com สมชาย พฒนาชวนชม
สครปตของตวละครและเวท
สครปตของคาสง
คาสงทอยบนเวท สงใหดคาสงของโปรเจกนใน Project Notes อกท ซงเปดดได โดยคลกเมน
File เลอก Project Notes … ทงนอาจเปนเพราะวาคาสงคอนขางยาว ไมเหมาะทจะใสไวบนเวท
วธนนาจะดกวา
สวนสครปตของใบคาสงกงายๆ คอเมอผใชคลกธงเขยวแลวมนจะหายไป ดวยเอฟเฟคหายตว
(ghost) เทานนเอง
Scratch การเขยนโปรแกรมสาหรบเดก 143
สครปตของเวท
สครปตของเวท เรมตนทกครงทผใชคลกทวางบนเวท โดยใชบลอกควบคมคอยตรวจสอบวาเวท
ถกคลกหรอยง (when Stage clicked) ถาเวทถกคลก เวทจะสงสาร new random direction
ออกไป ซงตวละครใดทรอรบสารน (ลกบอลทงหมด) จะถกกระตนใหทางานตอไป
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 จากตวคยเองแลว สครปตนยงรบสารจากลกบอล เมอลกบอล
กระทบคยนดวย เทคนคนทาใหเขยนสครปตเพยงครงเดยวเทานน สาหรบแสดงแอนเมชนการ
กดคยพรอมเสยงของคยนนๆ
Scratch การเขยนโปรแกรมสาหรบเดก 145
สครปตของลกบอล
ปกตลกบอลจะเคลอนทไปมาตลอด เมอชนขอบเวทกจะสะทอนกลบ แตถาชนกบคยเปยโนจะ
เกดเสยงของคยนนๆ สวนจะสะทอนกลบหรอผานเลยไป ขนกบสถานะการสะทอน ในตวแปร
rebound ณ ขณะนน ลกบอลมอยดวยกน 6 ลก ตอนเรมตนมอยเพยง 3 ลกเทานนบนเวท แต
สามารถเพมลดได ดวยปมควบคมจานวนลกบอล
สครปตของลกบอลนนคอนขางยาวทเดยว มถง 20 สครปต แตสครปตสวนใหญ เปนสครปตท
คอยตรวจสอบการชนคยเปยโนตางๆ (17 คย) ซงจะคลายกนหมด สครปตของลกบอลทง 6 ลก
มลกษณะคลายกนมากๆ ดงนนมาดสครปตของลกบอล 1 กนาจะเพยงพอกบการทาความเขาใจ
ลกบอลทเหลอ
สครปตแรกเรมเมอผใชคลกธงเขยว ลกบอลจะยายไปเลเยอรดานหนาสด (go to front) เพอให
เหนลกบอลตลอดเวลาขณะเคลอนทไปมา จากนนกาหนดทศการเคลอนท (point in direction)
แบบสมตงแต 1 ถง 360 องศา จากนนลกบอลจะเคลอนทไปเรอยๆ ภายในบลอกควบคม
ตลอดเวลา (forever) การเคลอนทจะเรวหรอชา ถกกาหนดในตวแปร speed ซงมคาตงแต 10
ถง 20 และผใชสามารถปรบเลอนไดดวยสไลเดอรบนเวท จากนนจะตรวจสอบการชนขอบเวท
ถาชนกจะสะทอนกลบ กอนทจะเคลอนทตอไปกจะหยดพก (wait) 0.01 วนาท
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)
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 ปรากฎ
บนเวท
148 kidsangsan.com สมชาย พฒนาชวนชม
การทาซาตวละครทมลกษณะคลายกน
ใน Scratch ตวละครตางชนดกน มกถกสรางของใครของมน แตถาตวละครเปนกลมเดยวกน ท
คลายกน เชน คยเปยโน กบ ลกบอล ในโปรเจกน แทนทจะสรางทละตว ควรจะเรมจากการ
สรางตนแบบของตวละครกอน แลวทาซาตวละครจากตนแบบอกท จานวนเทาไรกได โดยคลก
ขวาทตวละครตนแบบในรายการตวละคร จากนนเลอก duplicate ซงตวละครใหมจะไดสครปต
และชดมาทงหมดจากตวละครตนแบบ ตอจากนนเราสามารถแกไขเพมเตมตวละครใหมได
ในกรณของลกบอล จะเหนประโยชนอยางมาก เพราะแตละลกม 20 สครปต แลวชดกเหมอนกน
หมด การทาซาตวละครจากตนแบบ จะชวยลดเวลาในการสรางตวละครใหมอยางมาก สงเกตวา
ทกครงททาซา แมจะไดทกอยางจากตวละครตนแบบ แตตวละครทไดจากการทาซา จะไดชอตว
ละครใหม ซงถอวาเปนอสระจากตวละครตนแบบ
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))
150 kidsangsan.com สมชาย พฒนาชวนชม
เมอเปลยนคาในตวแปรแลว จงสงสาร number of balls changed ใหลกบอลทกลกทราบ แลวก
เปลยนชดถดไป (next costume) กอนทจะเปลยนขนาดกลบมาเทาเดม (100%)
สงเกตวา ชดตวละครมอย 6 ชด เรยงตามตวเลขดวยความตงใจ ทงนเพราะเมอใชบลอก next
costume มนจะเลอกชดถดไปตามลาดบ เมอไปถงชดสดทายแลว มนจะยอนกลบไปทชดแรก
โดยอตโนมต
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 นนคอสงทตองการ
152 kidsangsan.com สมชาย พฒนาชวนชม
สครปตของป มควบคมการสะทอนของลกบอล
ปกตลกบอลจะเคลอนทไปเรอยๆ เมอชนขอบเวทกจะสะทอนกบ แตเมอชนคยเปยโน การ
สะทอนของลกบอล ขนอยกบสถานะการสะทอนในตวแปร rebound ทถกกาหนดโดยปมควบคม
การสะทอน
สถานะการสะทอนมอย 2 สถานะ คอ สะทอน (rebound) จะทาใหลกบอลสะทอนกลบ หรอผาน
(through) จะทาใหลกบอลผานเลยไป สถานะปจจบนดไดจากชดตวละครน ซงปรากฎอยบนเวท
Scratch การเขยนโปรแกรมสาหรบเดก 153
สครปตแรกของปมควบคมการสะทอน เรมเมอผใชคลกธงเขยว และเรมตนดวยสถานะสะทอน
โดยเปลยนชดเปน rebound จากนนตงคาตวแปร rebound=1 (สถานะสะทอน)
สครปตทสองเรมเมอผใชคลกทปมน (when Rebound Button clicked) มนจะแสดงแอนเมชน
สนๆ ดวยการลดขนาดเหลอ 75% แลวคอย 0.3 วนาท
ทกครงทปมนถกคลกจากผใช กจะเปลยนสถานะสลบไปมาระหวางสถานะสะทอนกบสถานะ
ผาน ดวยการตรวจสอบสถานะการสะทอนปจจบน วาเปนสถานะผานหรอไม (rebound=0) ถา
ใชกจะเปลยน rebound เปน 1 (เปลยนเปนสถานะสะทอน) แลวเปลยนชดเปน rebound
มฉะนนแลว (else) จะเปลยน rebound เปน 0 (เปลยนเปนสถานะผาน) แลวเปลยนชดเปน
through
จากนนเปลยนขนาดของปมกลบมาเทาเดม 100% เพอจบการแสดงแอนเมชน
154 kidsangsan.com สมชาย พฒนาชวนชม
ระหวางโปรแกรมทางาน ผใชสามารถเปลยนเสยงเพลงไดหลายวธ เชน เปลยนการสะทอนกลบ
ของลกบอลในตวแปร rebound เปลยนจานวนลกบอลในตวแปร balls คลกทวางบนเวท และ
สดทายเพมหรอลดความเรวของลกบอลในตวแปร speed
ผใชสามารถปรบคาตวแปรความเรว speed ไดดวยสไลเดอรบนเวท แตกอนหนานนตองทาให
ตวแปรอยในรปแบบสไลเดอร และแสดงอยบนเวทกอน โดย (1) คลกกลองหนาบลอกตวแปร
speed ในบลอกหมวดตวแปร เครองหมายถกบอกวาตวแปรนไดแสดงอยบนเวทแลว จากนน
(2) คลกขวาทตวแปรนบนเวท จะปรากฎเมนใหเลอกรปแบบการแสดง คลกเลอก slider เพอให
มนสามารถเลอนปรบคาไดดวยสไลเดอร ขณะโปรแกรมกาลงทางาน นอกจากนนสามารถตงคา
ตาสดสงสดได โดย (3) คลก set slider min and max เชนตวแปร speed ตงคาตาสดท 10 และ
คาสงสดท 20 เปนตน
Scratch การเขยนโปรแกรมสาหรบเดก 155
การออกแบบหนาตาโปรแกรม
การออกแบบหนาตาโปรแกรมเปนเรองสาคญทไมควรมองขาม โดยเฉพาะโปรแกรมทตองการ
โตตอบกบผใช แมเปนโปรแกรมเลกๆ แตอาจใชงานยาก ถาหนาตาโปรแกรมไมสอถงการใช
งาน กไมสามารถดงศกยภาพของโปรแกรมออกมาได ผใชมชองทางใหตดตอและโตตอบกบ
โปรแกรมไดหลายวธ เชน
ขอความบนเวท เปนการสอสารตรงไปยงผใช สวนใหญเปนคาสง หรอวธใชงาน ตวแปรเมอ
สรางแลว สามารถแสดงบนเวทได แตถาตองการใหผใชปรบเปลยนคาของมนได ขณะท
โปรแกรมทางาน ทาไดโดยแสดงตวแปรในรปแบบสไลเดอร เหมอนตวแปรความเรว (speed)
การสรางปมคาสง ทาไดโดยการสรางตวละคร ทรบการคลกเมาสจากผใช เพอใหโปรแกรม
ทางานตอบสนอง เชน เมอผใชคลกทคยเปยโนใดๆ กจะมเสยงออกมาจากคยนนๆ แตการ
สรางตวละครใหเปนปมคาสงโดยเฉพาะกม เชน ปมเพมหรอลดจานวนลกบอล และปมการ
สะทอนของลกบอล
โปรแกรมยงรบคาสงจากผใช ผานการกดคยตางๆ บนคยบอรด เชน คยตวอกษร a-z คยตวเลข
0-9 คยลกศร และคยเวนวรรค (space bar)
นอกจากนน ผใชสามารถตดตอโปรแกรมผานไมโครโฟน หรอผานอปกรณตอพวง เชน LEGO®
WeDo™
156 kidsangsan.com สมชาย พฒนาชวนชม
การตอยอดโปรแกรม PianoMachine
• Scratch มเครองดนตรหลายชนดใหเลอกใช ลองเพมหรอเปลยนเครองดนตรชนดอน
• บนทกการบรรเลงเพลงเปยโน แลวเลนซาได การบนทกนนตองบนทกทงตวโนตและ
จงหวะเวลาในการเลนตวโนตทถกบนทก
• การบนทกตองสรางปมเพม เพอใหผใชคลกเมอตองการบนทก ควรใชตวแปรลสตมา
เกบบนทกตวโนตและเวลา
• การเลนซา เลนเสยงจากขอมลในลสต ขณะเลนซา ลกบอลควรหยด เพอไมใหเสยงตกน
Scratch การเขยนโปรแกรมสาหรบเดก 157
โปรเจก FishChomp
การทาเกมใน Scratch ไมยากอยางทคด FishChomp เปนตวอยางทดในการเรมตนการทาเกม
ใน Scratch โดยเกมนเปนเกมปลาใหญกนปลาเลก ผเลนใชเมาสนาทางปลาใหญไปกนปลาเลก
เกมนดงายจนรสกเหมอนวาจะยงไมสมบรณ เพราะปลาทองทถกกนจะออกมาใหมเรอยๆ ไมม
วนจบเกม และเกมนไมมคะแนนให ไมมขอจากดเรองเวลา อยางไรกตาม เกมนใหแนวคด
สาหรบผเรมตนในการทาเกม และยงเวนชองวางใหเราขยายเกมนตอไปไดอก
ภาพรวมของโปรเจก
เกมนมปลาทองตวเลก 3 ตวเคลอนทไปเรอยๆ ในทองทะเล ผเลนเพยงลากเมาสนาปลาตวใหญ
ไปกนเหลาปลาทอง ตวใดถกกนกจะโผลมาอกไมมวนจบ
158 kidsangsan.com สมชาย พฒนาชวนชม
ตวละครและเวท
โปรเจกนมตวละครเปนปลาสองชนด คอปลาตวใหญกบปลาทองเหมอนกน 3 ตว และใบคาสง
แสดงวธการเลนเกม ซงจะคางอยทมมบนขวาของเวทตลอดเวลา เพราะมนไมมสครปตนนเอง
สครปตของตวละครและเวท
สครปตของปลาทอง
ในเกม FishChomp เหลาปลาทองจะวายนาไปมา ผเลนใชเมาสนาทางปลาตวใหญมากนปลา
ทอง แตพวกมนกกลบมาเกดใหมอยางรวดเรว แลวกถกกนอกเปนวงจรชวตในเกมน
ปลาทองมอย 3 ตว มลกษณะและพฤตกรรมเหมอนกนหมด ยกเวนทศการเคลอนททเรมตน
ตางกน เพราะฉะนนมาดสครปตของ goldfish 1 กพอ
Scratch การเขยนโปรแกรมสาหรบเดก 159
สครปตของปลาทองเรมเมอผเลนคลกธงเขยว ปลาทองกจะปรากฎ (show) และหนไปยงทศ 90
องศา จากนนมนจะมพฤตกรรมซาๆ ตลอด ทาใหตองอยในบลอกตลอดเวลา (forever) นนกคอ
เคลอนทไปทละนด (2 หนวย) เปลยนทศเลกนอยโดยการสมตงแต -20 ถง 20 องศา ถาชนขอบ
เวทกจะสะทอนกลบ
จากนนตรวจสอบวาสสม (สของปลาทองเอง) สมผสกบสนาเงน (สของปากปลาตวใหญ) หรอไม
ถาใชแสดงวาปลาทองถกกน มนจะสงสาร got-me ไปใหปลาตวใหญ แลวกหายตวไป (hide) รอ
อก 3 วนาท (wait) มนจะโผลขนมาใหมทตาแหนง x -200 และสมคา y ตงแต -200 ถง 200
สครปตของปลาตวใหญ
ปลาตวใหญจะเคลอนทกตอเมอผเลนขยบเมาส มนจะวายนาตามเมาส และเมอเจอปลาทอง มน
กจะกนเจาปลาทองเทานนเอง
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 อกครง
Scratch การเขยนโปรแกรมสาหรบเดก 161
การตอยอดโปรเจก FishChomp
FishChomp เปนเกมทเขาใจไดงาย เหมาะสาหรบผทช นชอบเกม และอยากเขยนเกมตงแต
เบองตน ลองมาดวาอะไรบาง นาจะทาใหเกม สนก ทาทายมากขน
• เพมปลาทอง หรอปลาชนดอน
• ปลาทองออกมาตรงไหนกไดของเวท และออกมาใหไวขน
• ปลาตวใหญมมตในการเคลอนทมากขน เชนสามารถหมนได เคลอนทเรวขน
• มเพมอกระดบ (level 2) เพมความทาทาย
• มการควบคมเกม
• มคะแนน (score)
• มเวลาจากดในการเลนในแตละระดบ
• สอสารกบผเลน
• แสดงวธเลน และหายไประหวางการเลน
• บอกระดบ (level)
• บอกผเลนเมอจบเกม และแสดงคะแนนตางๆ ใหด
162 kidsangsan.com สมชาย พฒนาชวนชม
ลงมอตอยอดเกม FishChomp
ระดบของเกม
เกมสามารถมไดหลายระดบ แตละระดบมเปาหมายของตวเอง มความนาสนใจและความทาทาย
ทแตกตางกน สงแวดลอมในเกม (ตวละครหรอภาพฉากหลง) หรอกฎของเกม ในแตละระดบ ก
อาจแตกตางกนบาง เหมอนเดมบางกได
ปกตเกมควรเพมความทาทาย ในระดบทสงขน การตอยอดนม 2 ระดบ โดยระดบแรกมเพยง
ปลาทองเหมอนกนหมด 4 ตว ผเลนเพยงไลจบกนพวกมน กนได 1 ตว ได 1 คะแนน สวนระดบ
ทสอง ปลาทองตวท 1 (มหางสนาเงน) จะมปลาสเขยวเปนเพอน คอยวายนาอยใกลๆ ถากน
ปลาทองตวท 1 จะไดโบนส 2 คะแนน สวนปลาทองตวอนได 1 คะแนนเหมอนเดม แตถากน
ปลาสเขยว จะถกหก 3 คะแนน
การเพมตวละครในเกม
การเพมปลาทองอกซกตวไมใชเรองยาก เพยงคลกขวาทตวปลาทอง เลอกทาซา (duplicate) ก
จะไดปลาทองมาอกตวหนงทเหมอนกน อยางไรกตาม ถาปลาทองยงอยระหวางการแกไข กไม
ควรทา นอกเสยจากวาปลาทองทตองการมพฤตกรรมทตางกนมาก และเพยงตองการคณสมบต
บางประการของมนมา ซงในการตอยอดครงนมทงสองแบบคอ
แบบทหนงตองการปลาทองเหมอนกนอกหนงตว โดยทาซาปลาทองตวท 3 ไดตวท 4 มา โดย
ใหทาซาเมอสครปตปลาทองตวท 3 แกไขเสรจเรยบรอยแลว
แบบทสองตองการเพอนปลาทองตวท 1 ใน level 2 เพอใหมนคอยวายนาอยใกลๆ ปลาทองตว
ท 1 แตใหมนมลกษณะคลายปลาตวใหญ (เปนลกปลาตวใหญ) ดงนนจงทาซาปลาตวใหญ แลว
มายอขนาดใหใกลเคยงกบเหลาปลาทอง แลวเอาสครปตของปลาทองมาเปนตนแบบ
Scratch การเขยนโปรแกรมสาหรบเดก 163
ปลาทองตวท 1 ในระดบแรกเหมอนกบปลาทองตวอนๆ จงใชชดเดม แตเพอใหผเลนแยกปลา
ทองตวท 1 ออกจากปลาทองตวอนๆ ในระดบทสอง ควรเพมชดอกหนงชดสาหรบระดบทสอง
โดยปลาทองตวท 1 จะมหางเปนสนาเงนแทน ทาไดโดยทาซาชดเดมกอน จากนนคลกปม edit
เพอแกไขดวยโปรแกรมวาดรป
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 กพอ
Scratch การเขยนโปรแกรมสาหรบเดก 165
คะแนน
การนบคะแนนระหวางเลนเกมทาใหเกมดทาทายมากขน ทาใหผเลนรความสามารถของตวเอง
และสามารถเปรยบเทยบการเลนกบผเลนคนอนๆ ไดอกดวย
การใสคะแนนบนเวท ทาไดโดยสรางตวแปรเพอเกบคะแนนขนมากอน เชน score ถาตองการ
ใหคะแนนแสดงบนเวทตลอดระหวางการเลนเกม ทาไดโดยคลกบลอกหนาตวแปรนน (จะเหน
เครองหมายถก) นอกจากนนยงสามารถปรบตาแหนงตวแปรบนเวทไดดวย โดยใชเมาสลากตว
แปรไปยงตาแหนงทตองการ ตอนออกแบบโปรแกรม
การปรบเปลยนคะแนน ขนกบกตกาทกาหนดไว นนคอ ในระดบแรก ถากนปลาทองได 1 ตว
จะได 1 คะแนน สวนระดบทสอง ถากนปลาทองตวท 1 จะได 2 คะแนน สวนปลาทองตวอนได
1 คะแนนเหมอนเดม แตถากนปลาสเขยว จะถกหก 3 คะแนน
166 kidsangsan.com สมชาย พฒนาชวนชม
การจบเวลา
ถาไมมเวลาจากดในการเลนแตละระดบ กจะไมรวาเกมจะจบเมอใด ยกเวนแตวาในแตละระดบม
เงอนไขอนกาหนด หรอมเปาหมายใหทา เชน กนปลาใหได 20 ตว เปนตน การตอยอดคราวน
กาหนดใหแตละระดบมเวลาไมเทากน ระดบแรกงายหนอย ใช 20 วนาท ระดบสองยากขนมา
นดหนงเพมเวลาเปน 30 วนาท
ใน Scratch ทานาฬกาจบเวลาไดงายๆ โดยสรางตวแปร time ขนมา แลวตงคาเวลาทตองการ
ใหมน จากนนนบเวลาถอยหลงทละ 1 วนาท จนกระทงเปน 0 เชน ในระดบแรก ตงเวลาเปน 20
วนาท จากนนตรวจสอบวาตวแปร time ยงมากกวา 0 หรอไม ถาใช จบเวลา 1 วนาท ดวย
บลอก wait จากนนลดคาตวแปร time ทละ 1 ทาอยางนวนไปเรอยๆ ในบลอก forever จนกวา
time = 0 ดวยวธนจะทาใหรวาเวลาในแตละระดบหมดหรอยง ถาเวลาหมดลงแลว เกมจะดาเนน
ตอในสวน else เพอเลนเกมในระดบตอไป หรอจะแสดงผลการเลนกอนจะจบเกม
Scratch การเขยนโปรแกรมสาหรบเดก 167
การสอสารกบผเลน
การสอสารกบผเลนนนกสาคญ เชน ตงแตตนเกมตองบอกผเลนวาเลนอยางไร และระหวางเลน
วธการเลนนนตองหายไป มฉะนนจะรบกวนการเลน กอนเขาแตละระดบกควรบอกวาขณะนจะ
เลนในระดบใด และเมอจบเกมกควรมคะแนน หรอขอมลอนๆ ใหด เชน จานวนปลาชนดตางๆ
ทกนได
168 kidsangsan.com สมชาย พฒนาชวนชม
โปรเจก Delicious Fish เปนการตอยอดโปรเจก FishChomp ทผเขยนลองทาขนมา และได
upload โปรเจกนทเวบไซต http://scratch.mit.edu/projects/kidsangsan/1889679 ผอาน
สามารถเขาไปเลนได หรอดาวนโหลดเกม มาศกษาแกไขปรบปรงเพมเตมได
Scratch การเขยนโปรแกรมสาหรบเดก 169
การใชงานบลอกคาสง
บลอกหมวดการเคลอนท (Motion)
เคลอนตวละครไปขางหนาหรอถอยหลง (ใสเลขคาลบ)
หมนตวละครตามเขมนาฬกา
หมนตวละครทวนเขมนาฬกา
กาหนดทศของตวละครไปยง (0 = บน, 90 = ขวา, 180 = ลาง,
-90 = ซาย)
กาหนดทศของตวละครไปยง (เมาสหรอตวละครอน)
เคลอนตวละครไปยงตาแหนง x และ y บนเวท
เคลอนตวละครไปยงตาแหนงของ (เมาสหรอตวละครอน)
เคลอนตวละครไปยงตาแหนง ดวยระยะเวลาทถกกาหนด
เปลยนตาแหนง x ของตวละคร ตามระยะทถกกาหนด
ตงคาตาแหนง x ของตวละคร ตามคาทถกกาหนด
เปลยนตาแหนง y ของตวละคร ตามระยะทถกกาหนด
ตงคาตาแหนง y ของตวละคร ตามคาทถกกาหนด
170 kidsangsan.com สมชาย พฒนาชวนชม
กลบทศของตวละคร เมอตวละครชนขอบเวท
บลอกตวแปร
บลอกทมาพรอมกบกลองเลอกดานหนา ถาคลกทกลองเลอก จะแสดงคาทคนมาจากบลอกนน
บนเวท
คนคาตาแหนง x ของตวละคร (-240 to 240)
คนคาตาแหนง y ของตวละคร (-180 to 180)
คนคาทศทางการเคลอนทของตวละคร
บลอกสาหรบมอเตอร
เปดมอเตอรเปนเวลาตามทกาหนด
เปดมอเตอร
ปดมอเตอร
ตงคากาลงของมอเตอร แลวเปดมอเตอร (คากาลงของมอเตอรอย
ตงแต 0 ถง 100)
ตงคาหรอเปลยนทศการหมนของมอเตอร โดยไมตองเปดมอเตอร
(this way = ตามเขมนาฬกา, that way = ทวนเขมนาฬกา,
reverse = เปลยนทศการหมน)
Scratch การเขยนโปรแกรมสาหรบเดก 171
บลอกหมวดรปราง (Looks)
เปลยนหนาตาตวละคร ดวยการเปลยนชดละคร
เปลยนชดตวละครถดไป ในรายการชดตวละคร (ถาถงชด
สดทายในรายการ จะกลบไปเรมทชดแรกใหม)
เปลยนหนาตาเวท ดวยการเปลยนภาพฉากหลง
เปลยนภาพฉากหลงถดไป ในรายการภาพฉากหลง (ถาถงชด
สดทายในรายการ จะกลบไปเรมทชดแรกใหม)
บลอกแสดงความคดหรอพด
แสดงลกโปงคาพดของตวละคร ในระยะเวลาทถกกาหนด
แสดงลกโปงคาพดของตวละคร (ลบลกโปงคาพดไดดวยการรน
บลอกนอกครงโดยไมใสตวหนงสอ)
แสดงลกโปงความคดของตวละคร ในระยะเวลาทถกกาหนด
แสดงลกโปงความคดของตวละคร
172 kidsangsan.com สมชาย พฒนาชวนชม
บลอกเลเยอร
ยายตวละครไปยงดานหนาของตวละครอนๆ
ยายตวละครกลบไปยงเลเยอรทถกกาหนด เพอวามนจะสามารถ
ซอนอยดานหลงตวละครอนๆ ได
บลอกแอฟเฟค
เปลยนเอฟเฟคบนตวละคร ตามคาทถกกาหนด (ใชรายการ
เลอกแบบดงลงเพอเลอกเอฟเฟค)
ตงคาเอฟเฟคตามคาทกาหนด (คาเอฟเฟคอยต งแต -100 ถง
100 คา 0 เปนคาปกตทไมมเอฟเฟค บางเอฟเฟคคาลบกบคา
บวกใหผลเหมอนกน)
ลางเอฟเฟคทงหมดของตวละคร
เปลยนขนาดของตวละคร ดวยคาทถกกาหนด
ตงคาขนาดของตวละครเปน % ของขนาดเรมตน
ทาใหตวละครปรากฏบนเวท
ทาใหตวละครหายไปจากเวท (เมอตวละครหายไป ตวละครอนๆ
จะไมสามารถตรวจจบดวยการใชบลอกสมผสได)
Scratch การเขยนโปรแกรมสาหรบเดก 173
บลอกตวแปร
บลอกทมาพรอมกบกลองเลอกดานหนา ถาคลกทกลองเลอกจะแสดงคาทคนมาจากบลอกนน
บนเวท
คนหมายเลขชดละครปจจบน
คนหมายเลขภาพฉากหลงปจจบน
คนคาขนาดของตวละครเปน % ของขนาดเรมตน
บลอกหมวดเสยง (Sound)
เรมเปดเสยงจากรายการเลอกแบบดงลง แลวรนบลอกถดไปแม
เสยงยงเลนอย
เปดเสยงแลวรอจนเสยงหยด กอนทจะรนบลอกถดไป
ปดเสยงทงหมด
เลนเสยงกลองจากรายการเลอกแบบดงลง ดวยจงหวะทกาหนด
เลนโนตดนตรตามจงหวะทกาหนด (ตวเลขยงสง จะไดเสยงสง
ตาม)
หยดพกเสยงตามจงหวะทกาหนด
เลอกชนดเครองดนตรใหตวละคร สาหรบใชในโนตบลอก (แตละ
ตวละครมเครองดนตรของตวเอง)
174 kidsangsan.com สมชาย พฒนาชวนชม
ปรบระดบเสยงของตวละครตามคาทกาหนด ระดบเสยงอย
ระหวาง 0 ถง 100
ตงคาระดบเสยงของตวละคร ดวยคาทกาหนด
เปลยนจงหวะเสยงของตวละคร ดวยคาทกาหนด
ตงคาจงหวะเสยงของตวละคร ดวยคาทกาหนด
บลอกตวแปร
บลอกทมาพรอมกบกลองเลอกดานหนา ถาคลกทกลองเลอกจะแสดงคาทคนมาจากบลอกนน
บนเวท
คนคาระดบเสยงของตวละคร
คนคาจงหวะเสยงของตวละคร
Scratch การเขยนโปรแกรมสาหรบเดก 175
บลอกหมวดปากกา (Pen)
ลบรอยวาดเขยนบนเวท จากการใชปากกาหรอแสตมป
จรดปากกาของตวละคร เพอวาดเขยนขณะทมนเคลอนท
ยกปากกาของตวละครขน เพอไมใหวาดเขยนขณะทมนเคลอนท
ตงคาสใหปากกา ตามคาสจากตวเลอกส ซงจะทาใหระดบสเปลยน
ดวย
เปลยนคาส ตามคาทกาหนด
ตงคาส ตามคาทกาหนด (คาระหวาง 0 ถง 200 คอสในวงลอของ
แถบสรง เชน pen_color = 0 คอสแดง, pen_color = 100 คอสนา
เงน)
เปลยนระดบส ตามคาทกาหนด
ตงคาระดบสตามคาทกาหนด (pen_shade = 0 คอคอนขางมด
pen_shade = 100 คอคอนขางสวาง คาทถกตงเรมแรก คอ 50
เมอใชตวเลอกส จะไดระดบสจากสทเลอกมาดวย)
เปลยนขนาดของเสนปากกา ตามคาทกาหนด
ตงคาขนาดของเสนปากกา ตามคาทกาหนด
ประทบภาพของตวละครบนเวท
176 kidsangsan.com สมชาย พฒนาชวนชม
บลอกหมวดควบคม (Control)
บลอกเรมตนทางาน
รนสครปต เมอธงเขยวถกคลก
รนสครปต เมอคยทกาหนดไวถกกด
รนสครปต เมอตวละครถกคลก
รนสครปต เมอไดรบสารทสนใจ
บลอกทาซา
รนบลอกทอยภายใน ซาๆ ไปตลอด
รนบลอกทอยภายใน ตามจานวนครงทกาหนด
บลอกเงอนไข
ตรวจสอบเงอนไข ถาเปนจรง ทางานบลอกทอยภายใน
ตรวจสองเงอนไข ถาเปนจรงทางานบลอกทอยภายในสวนแรก (ใต
if) ถาเปนเทจทางานบลอกทอยภายในสวนทสอง (ใต else)
Scratch การเขยนโปรแกรมสาหรบเดก 177
บลอกทาซาแบบมเงอนไข
ตรวจสอบเงอนไขตลอดเวลาวาเปนจรงหรอไม ถาเปนจรง ทางาน
บลอกทอยภายใน
ตรวจสอบเงอนไขตลอดเวลา ถายงเปนเทจ ทางานซาบลอกทอย
ภายใน ถาเปนจรง ทางานบลอกถดไป
บลอกสงสาร
สงกระจายสารถงทกตวละครและเวท จากนนทางานบลอกถดไป
โดยไมตองรอสครปตทถกกระตนจากสารน
สงกระจายสารถงทกตวละครและเวท กระตนสครปตทรบสารนให
ทางาน รอจนกระทงสครปตนนๆ ทางานจนเสรจ แลวจงทางาน
บลอกถดไป
บลอกหยดการทางาน
หยดรอคอยตามเวลาทกาหนด จากนนทางานบลอกถดไป
หยดรอคอยจนกระทงเงอนไขเปนจรง จงจะทางานบลอกถดไป
หยดทางานสครปต
หยดทางานสครปตทงหมดของทกตวละคร
178 kidsangsan.com สมชาย พฒนาชวนชม
บลอกหมวดกาลงรบร (Sensing)
คนคาจรง ถาปมเมาสถกกด
คนคาจรง ถาคยทกาหนดถกกด
คนคาจรง ถาตวละครสมผสกบตวละครทกาหนด ขอบเวท หรอตว
ชเมาส (เลอกจากรายการตวเลอกแบบดงลง)
คนคาจรง ถาตวละครสมผสกบสทกาหนด (คลกทแถบส จากนน
ใชหลอดหยดเลอกส)
คนคาจรง ถาสแรกทอยในตวละครสมผสกบสทสองทอยในฉาก
หลงหรอตวละครอน
คนคาตาแหนง x ของตวชเมาส
คนคาตาแหนง y ของตวชเมาส
คนคาระยะทาง ระหวางตวละครกบตวชเมาสหรอตวละครอน
คนคาสมบตของตวละครอน
ตงคาเรมตนใหมใหนาฬกาจบเวลาทศนยวนาท
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)
180 kidsangsan.com สมชาย พฒนาชวนชม
บลอกหมวดโอเปอรเรเตอร (Operators)
บลอกจดการขอความ (สตรง)
ตอขอความทงสองขอความเขาดวยกน
คนคาจานวนตวอกษรในขอความ
คนตวอกษรในขอความ ณ ตาแหนงทระบ
บลอกจดการตวเลข
บวกตวเลขสองตว
ลบตวเลขแรก ดวยตวเลขทสอง
คณตวเลขสองตว
หารตวเลขแรก ดวยตวเลขทสอง
คนเศษเหลอ จากการหารตวเลขแรก ดวยตวเลขทสอง
คนคาจานวนเตม ทใกลเคยงทสดกบตวเลขทระบ
สมคาตวเลข ตงแตคาแรกถงคาทสอง
คนผลลพธทไดจากฟงกชนทถกเลอก (abs, sqrt, sin, cos, tan, asin,
acos, atan, ln, log, e^, 10^) กบตวเลขทกาหนดไว
Scratch การเขยนโปรแกรมสาหรบเดก 181
บลอกจดการตรรกะ
คนคาจรง ถาคาตวเลขแรกนอยกวาคาตวเลขทสอง
คนคาจรง ถาคาตวเลขทงคมคาเทากน
คนคาจรง ถาคาตวเลขแรกมากกวาคาตวเลขทสอง
คนคาจรง ถาเงอนไขทงคเปนจรง คนคาเทจ ถาเงอนไขใดเงอนไข
หนงเปนเทจ
คนคาจรง ถาเงอนไขใดเงอนไขหนงเปนจรง คนคาเทจ ถาเงอนไขทง
คเปนเทจ
คนคาจรง ถาเงอนไขเปนเทจ คนคาเทจ ถาเงอนไขเปนจรง
182 kidsangsan.com สมชาย พฒนาชวนชม
บลอกหมวดตวแปร (Variables)
บลอกตวแปร
คลกปมเพอสรางตวแปร พรอมทงกาหนดชอใหตวแปรใหม และ
ยงสามารถระบไดวา จะใหทกตวละครใชได (global) หรอใชกบ
เฉพาะตวละคร (local) ทสรางตวแปรน จากนนบลอกตวแปร
ใหมจะปรากฎ
ลบบลอกทงหมด ทเกยวของกบตวแปร
คนคาทเกบไวในตวแปร (score ใน ณ ทน)
เปลยนคาในตวแปรตามปรมาณทกาหนด ถามตวแปรมากกวา
หนงตว ใชรายการเลอกแบบดงลงเพอเลอกตวแปรกอน
ตงคาตวแปร ดวยคาทกาหนด
แสดงคาตวแปรบนเวท
ซอนคาตวแปร ไมใหแสดงบนเวท
Scratch การเขยนโปรแกรมสาหรบเดก 183
บลอกตวแปรลสต
คลกปมเพอสรางรายการลสต พรอมทงกาหนดชอใหลสต
ใหม และยงสามารถระบไดวา จะใหทกตวละครใชได
(global) หรอใชกบเฉพาะตวละคร (local) ทสรางตวแปรน
จากนนบลอกลสตใหมจะปรากฎ
ลบบลอกทงหมดทเกยวของกบลสต
คนคาทกรายการทอยในลสต (โดยทแตละรายการจะถก
แยกดวยชองวาง อยางไรกตาม ถาแตละรายการเปน
ตวอกษรเดยวหรอตวเลขโดด ชองวางจะถกละไว)
ลบหนงรายการหรอรายการทงหมดจากลสต โดยสามารถ
ระบตาแหนงรายการทจะลบได จากรายการเลอกแบบดง
ลง หรอจะพมพตวเลขตาแหนงโดยตรง เลอก last เพอลบ
รายการทายสดของลสต เลอก all เพอลบรายการทงหมด
ในลสต การลบรายการจะลดขนาดของลสตลง
แทรกรายการไปยงตาแหนงทระบในลสต โดยสามารถระบ
ตาแหนงรายการได จากรายการเลอกแบบดงลง หรอจะ
พมพตวเลขตาแหนงโดยตรง เลอก any เพอแทรกรายการ
ณ ตาแหนงทไดจากการสม เลอก last เพมรายการท
ทายสดของลสต การแทรกรายการจะเพมขนาดของลสต
แทนทรายการในลสตดวยคาทกาหนด โดยสามารถระบ
ตาแหนงรายการได จากรายการเลอกแบบดงลง หรอพมพ
ตวเลขตาแหนงโดยตรง เลอก any เพอแทนทรายการ ณ
ตาแหนงทไดจากการสม ขนาดของลสตไมเปลยนแปลง
จากการแทนทรายการ
184 kidsangsan.com สมชาย พฒนาชวนชม
เพมรายการทกาหนดตอทายลสต โดยทรายการสามารถ
เปนตวเลขหรอขอความกได
คนคาในรายการ ณ ตาแหนงทระบในลสต โดยสามารถ
ระบตาแหนงรายการได จากรายการเลอกแบบดงลง หรอ
พมพตวเลขตาแหนงโดยตรง เลอก any เพอคนคาใน
รายการ ณ ตาแหนงทไดจากการสม
คนคาจานวนรายการทงหมดในลสต (ขนาดของลสต)
คนคาจรง ถาลสตมคาในรายการกบคาทกาหนดไว เหมอน
ตรงกนทงหมด
หมายเหต บลอกทมาพรอมกบกลองเลอกดานหนา ถาคลกทกลองเลอกจะแสดงคาทคนมาจาก
บลอกนนบนเวท
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