คำนำ
Scratch เป็นสภาพแวดล้อมใหม่ของการเขียนโปรแกรม ในรูปแบบท่ีใช้งาน
ง่าย เพียงลากแล้วปล่อยบล็อกคาสั่ง ไปยังส่วนท่ีกาหนดไว้ของโปรแกรม เรา
สามารถท่จี ะใช้ Scratch เพอ่ื โปรแกรม games, stories, and animation
การเรียนรู้ Scratch เป็นพื้นฐานสาคัญที่จะนาไปใช้ประโยชน์ ในการเรียนรู้
ภาษาในระดับสูงข้ึน เช่น Ruby, PHP, and Python เป็นต้น นอกจากนี้การเรียนรู้
หรือการจัดการเรียนรู้ด้วย Scratch ยังเป็นการพัฒนาทักษะการเรียนรู้ท่ีจาเป็น
สาหรับศตวรรษท่ี 21 ด้วยการเรียนรู้ท่ีจะออกแบบงาน (how to design) การคิด
วิเคราะห์ (think critically) การร่วมมือช่วยเหลือกัน (collaborate) การสื่อสาร
(communicate) และการโปรแกรมภาษาคอมพิวเตอร์ (program in a computer
language)
และในการเขยี นโปรแกรม งาน(ใหญ่) ควรแบ่งเป็นงานยอ่ ยๆ แต่ไมค่ วรย่อย
เกนิ ไป เน่ืองจากคอมพิวเตอรม์ ิได้ฉลาดสามารถคดิ ขั้นตอนการทางานได้เอง (ใน
อนาคตก็ไม่แน)่ อีกทั้งงานเดยี วกันยงั อาจทาไดห้ ลายวธิ แี ตกต่างกัน ด้งนน้ั เปน็ หน้าที่
ของโปรแกรมเมอรท์ ีต่ ้องออกแบบการทางาน แบ่งงาน และลาดบั ขน้ั ตอนการทางาน
(algorithm) ใหก้ ับคอมพิวเตอร์
นางสาวนา้ ฝน เบ้าทอง
สำรบัญ หนำ้
เรอ่ื ง
1
คำนำ 1
โปรแกรม Scratch 5
หลักกำรเขียนโปรแกรม 6
กำรส่ือสำรภำยในและภำยนอกของโปรแกรม 7
กำรโตต้ อบระหว่ำงผู้ใช้กบั โปรแกรม 7-12
กำรเขำ้ ใช้งำนโปรแกรม Scratch มี 2 วธิ ี 12-16
17
การเข้าใชง้ านแบบออนไลน์ 19
การเข้าใชง้ านแบบออฟไลน์ 23
องคป์ ระกอบของโปรแกรม Scratch
กำรเขยี นโปรแกรมภำษำคอมพิวเตอร์ Scrach เบือ้ งตน้
เอกสำรอ้ำงองิ
Scratch เปน็ สภาพแวดลอ้ มใหม่ของการเขยี นโปรแกรม ในรปู แบบทใ่ี ช้งาน
ง่าย เพยี งลากแล้วปลอ่ ยบล็อกคาสง่ั ไปยงั สว่ นทก่ี าหนดไว้ของโปรแกรม เรา
สามารถทจ่ี ะใช้ Scratch เพอ่ื โปรแกรม games, stories, and animation
กำรเรยี นรู้ Scratch เปน็ พน้ื ฐานสาคญั ทจี่ ะนาไปใชป้ ระโยชน์ ในการเรยี นรู้
ภาษาในระดบั สูงขน้ึ เช่น Ruby, PHP, and Python เปน็ ต้น นอกจากน้กี ารเรียนรู้
หรือการจัดการเรยี นรดู้ ว้ ย Scratch ยงั เป็นการพฒั นาทักษะการเรียนรู้ที่จาเปน็
สาหรบั ศตวรรษที่ 21 ดว้ ยการเรยี นรทู้ ี่จะออกแบบงาน การคิดวิเคราะห์ การ
รว่ มมือชว่ ยเหลอื กัน การสื่อสาร และการโปรแกรมภาษาคอมพิวเตอร์
โปรแกรม Scratch ยงั เป็นโปรแกรมภาษาคอมพวิ เตอรภ์ าษาหนงึ่ ทพ่ี ฒั นาขน้ึ
มาเพอื่ ให้นักเรียนไดเ้ รยี นรู้ การเขียนโปรแกรมคอมพิวเตอร์ ในรูปแบบของกราฟิก
ลากแล้ววาง อาจมีการกาหนดค่าบา้ งเลก็ น้อย นักเรยี นสามารถเรียนรู้ได้งา่ ย
สนุกสนานกับการเรยี นรู้
โปรแกรม Scratch มีลกั ษณะเปน็ บลอ็ กโปรแกรม (Block) นามาตอ่ กันเพ่ือ
สรา้ งรหัสคาส่ัง (Code) เพือ่ สั่งใหโ้ ปรแกรม 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 ตวั แปร และตัวแปรท่มี ีโครงสรา้ ง
ซงึ่ รำยละเอียดของหลักกำรเขยี นโปรแกรม มีดังน้ี
1. กำรทำงำนแบบเรยี งลำดบั (Sequence)
การสร้างโปรแกรมใน Scratch ผเู้ ขยี นโปรแกรมตอ้ งคดิ อย่างเปน็ ระบบ
เกีย่ วกับลาดับขน้ั ตอนการทางาน เพ่ือใชใ้ นการสรา้ งสคริปต์โดยการนาบลอ็ กคาส่งั
มาเรยี งต่อกนั อย่างมีความหมาย ตามเป้าหมายทีว่ างไว้ ตวั อย่างเช่น การใหต้ วั ละคร
วาดรูปสี่เหลี่ยมหน่งึ รปู จะประกอบไปด้วยการทางานยอ่ ยหลายๆคาสัง่ ด้วยกนั นั้น
คือ การจรดปากกาลงเตรียมวาดรูป การเคล่ือนที่ไปขา้ งหนา้ 50 ก้าว จากน้นั เปลีย่ น
ทศิ ทางทวนเข็มนาฬิกาไป 90 องศา แลว้ กเ็ คลอ่ื นท่ีไปอีก 50 กา้ ว เปลย่ี นทิศทาง
ทวนเขม็ นาฬิกาอีก 90 องศา ทาแบบนี้เพมิ่ อีก 2 รอบ ก็จะได้การวาดรูปสเ่ี หลี่ยม
หนง่ึ รูป จากนน้ั จงึ ยกปากกาขน้ึ
จะเหน็ ไดว้ ่าการเขียนสคริปตใ์ ห้ทางานอะไรสักอย่าง มักจะเร่ิมจากภาพรวม
หรือเปา้ หมายก่อน จากนั้นแจกแจงงานเปน็ ลาดบั ข้ันตอน สรา้ งงานย่อยๆ และ
ประกอบเข้าดว้ ยกนั เพื่อใหง้ านใหญ่นัน้ สาเรจ็ ตามเปา้ หมาย
2. กำรควบคุมลำดบั กำรทำงำน (Control flow)
งานบางอย่างงา่ ยพอท่จี ะทาแบบเรียงลาดบั ลาดับการทางานของสคริปตจ์ งึ
ตรงไปตรงมา ทางานเรียงลาดบั จากบล็อกบนสุด ลงไปจนถงึ บล็อกลา่ งสดุ แตง่ าน
บางอย่างมคี วามซบั ซอ้ นมากขึ้น การทางานแบบเรยี งลาดับอาจไม่เพียงพอ หรือไม่มี
ประสิทธภาพดงั น้นั จึงมีการควบคุมลาดับการทางาน อกี สองลักษณะเพ่อื เพม่ิ ขดี
ความสามารถในการเขยี นโปรแกรม นัน้ ก็คอื การควบคุมลาดับการทางานแบบวนซ้า
(Loop) และการควบคมุ ลาดับการ ทางานแบบมีเงื่อนไข (Condition) โดยใชบ้ ลอ็ ก
ทาซ้าและบลอ็ กเง่อื นไข ท่มี อี ยู่หลายแบบให้เลือกใช้ในบลอ็ กหมวดควบคุม
2.1 กำรควบคุมลำดบั ทำงำนแบบวนซำ้ (Loop)
การควบคมุ ลาดบั การทางานแบบวนซ้า เป็นการทาซ้างาน (บลอ็ กทอ่ี ยู่ภายใน
บล็อกทาซ้า) เหมอื นเดมิ หลายๆ คร้ัง เชน่ การให้ตวั ละครวาดรูปสเี่ หลย่ี มน้ัน ส่วน
หนึ่งของงานน้คี ือใหต้ วั ละครเคลื่อนท่เี ป็นสีเ่ หลย่ี ม ซ่ึงมีลกั ษณะการทางานซ้ากัน คือ
เคลอ่ื นที่ไปขา้ งหน้า 50 กา้ ว จากน้ันเปลี่ยนทศิ ทวนเข็มนาฬิกาไป 90 องศา ทาแบบ
น้ซี ้ากัน 4 รอบจะไดร้ ปู ส่เี หล่ียม ถงึ แมก้ ารเขยี นแบบเรยี งลาดบั จะตรงไปตรงมา แต่
โปรแกรมจะยาวเกินไป ถา้ ใช้การควบคุมลาดบั การทางานแบบวนซา้ จะได้สครปิ ต์
ใหม่ทสี่ นั้ ลงและอา่ นทาความเข้าใจได้ง่ายกวา่ ดงั นี้
การควบคุมลาดบั การทางานแบบวนซ้า มหี ลายลกั ษณะ ตามแต่ละชนิด
ของบล็อกควบคุม เชน่
การทางานซา้ ทไี่ ม่กาหนดจานวนรอบ คอื ทาไปตลอดจนกวา่ จะจบโปรแกรม
การทางานซา้ ท่กี าหนดจานวนรอบที่แน่นอน เชน่ 10 รอบ
2.2 กำรควบคมุ ลำดบั กำรทำงำนแบบมีเงอื่ นไข (Condition)
เงือ่ นไขถูกใช้ในการควบคมุ ทิศทางการทางาน โดยการตดั สินใจที่จะทางานหรอื ไม่ทา
หรือต้องเลือกทางานอย่างใดอยา่ งหนึง่ ข้ึนอยู่กบั เงอ่ื นไขเป็นตวั กาหนด เชน่
ถา้ เง่อื นไขเป็นจริง จะหยดุ ทาซา้ งานทีอ่ ยภู่ ายในบลอ็ กนี้
ถ้าเง่ือนไขเป็นเทจ็ จะหยุดการทางานชัว่ คราว
จนกวา่ เง่อื นไขจะเป็นจริงจงึ จะทางานในลาดบั ต่อไป
3. โอเปอร์เรชัน (Operation)
การเขียนโปรแกรมต้องอาศัยการคานวณไม่มากก็น้อย โอเปอร์เรช่ันเป็น
เครอ่ื งมือทีใ่ ช้ในการคานวณ หรอื การจดั การกับข้อความตวั อกั ษรที่ใช้ในโปรแกรม
โอเปอร์เรชั่นใน Scratch เป็นโอเปอร์เรช่ันพื้นฐาน แตก่ ็เพียงพอต่อการทาโปรเจก
โอเปอรเ์ รช่ันที่ซับซอ้ นสามารถสรา้ งได้ ดว้ ยการประกอบโอเปอร์เรช่นั พน้ื ฐานเข้า
ด้วยกนั ตามหลัก
คณิตศาสตร์ โอเปอร์เรชน่ั พชี คณติ และฟงั กช์ ันต่างๆ
โอเปอร์เรช่นั ตรรกะ
โอเปอร์เรชนั่ จัดการตวั อกั ษรและข้อความ
พ้ืนทสี่ ีขาวภายในบลอ็ กหมายถงึ ผู้ใชส้ ามารถใส่ข้อมูลเขา้ ไปไดจ้ ากคียบ์ อร์ด
หรือใสบ่ ล็อกก็ได้ พืน้ ทสี่ ีขาวทรงมนรบั คา่ เป็นตัวเลขและรบั บลอ็ กทรงมน พ้นื ท่ีทรง
หกเหลี่ยมรบั ได้เฉพาะข้อมูลทเ่ี ป็นจริงหรอื เทจ็ จากบลอ็ กทรงหกเหลยี่ มเท่านน้ั ส่วน
พ้ืนทสี่ ขี าวทรงส่ีเหลี่ยมรบั ข้อมูลทีเ่ ป็นตัวอักษร ทาให้รับตวั เลขกไ็ ด้ (ถอื ว่าเป็น
ตวั อกั ษรดว้ ย) รบั บลอ็ กทรงมนและบลอ็ กทรงหกเหลย่ี มกไ็ ด้ดว้ ย
4. กำรทำงำนแบบค่ขู นำน (Parallelism)
ใน Scratch ประกอบไปดว้ ยตัวละครตา่ งๆ รวมทง้ั เวที ซึ่งสามารถทางาน
พร้อมๆ กันได้ณ ขณะหนงึ่ ๆ เรยี กการทางานแบบน้ีว่าการทางานแบบคขู่ นาน ซง่ึ
ใกล้เคยี งกับชวี ติ จริงของคนเรา ที่เกิดการทางานหลายๆ อย่างพร้อมกันไปในเวลา
เดียวกนั เช่น ในงานปาร์ต้ีเตน้ ราทม่ี ีผคู้ นมากมาย บางคนกพ็ ูดคยุ กนั บางคนกก็ าลัง
ดืม่ กินอาหาร และหลายๆ คนก็กาลงั เตน้ ไป พร้อม กับเสยี งเพลงท่เี ปิดจากเวที
ใน Scratch การทางานแบบคู่ขนาน เปน็ การทางานจากหลายๆ สคริปต์พรอ้ ม
กัน แต่ละสคริปต์นน้ั อาจมาจากตวั ละครเดียวกันก็ได้ หรือจากหลายๆ ตวั ละคร
รวมท้ังเวทีก็ได้ สครปิ ต์เหล่านีถ้ กู กระตุ้นใหท้ างานพรอ้ มกัน ณ ขณะหนง่ึ ๆ แตไ่ ม่
จาเปน็ ต้องเร่ิมหรอื จบสครปิ ต์พร้อมกนั เชน่ เมื่อผู้ใชค้ ลิกธงเขียวเร่มิ ตน้ โปรแกรม
สครปิ ต์ท่ีตอบสนองต่อการคลกิ ธงเขยี วทกุ สครปิ ตจ์ ะเริ่มตน้ ทางานพรอ้ มกัน แต่
ขณะทีส่ ครปิ ตเ์ หล่าน้นั ทางานอยู่ บางสคริปต์กาลังถกู กระต้นุ จากผูใ้ ช้ เชน่ การกดคีย์
หรือการคลกิ ตัวละคร ให้เริ่มทางาน หรือถูกกระตนุ้ จากสครปิ ต์อืน่ ด้วยการสง่ สาร
ขณะโปรแกรมทางาน ผู้ใชส้ ามารตดิ ต่อสื่อสารกบั โปรแกรมได้โดยการตดิ ต่อ
หรือให้ข้อมูลกับโปรแกรม ภายในโปรแกรมเอง ตวั ละครต่างๆ และเวที สามารถ
ติดต่อสอื่ สารกัน ผา่ นการสง่ สารหรือแชร์ข้อมูลระหว่างกันการตดิ ต่อสื่อสารกนั ทาให้
เกิดเหตกุ ารณ์ข้นึ อย่างไรก็ตาม เหตกุ ารณ์ที่เกิดข้ึนอาจเป็นการสือ่ สารทางเดยี ว ถ้า
อกี ฝายไม่รบั รู้ถงึ เหตกุ ารณ์ นัน้ ดังนั้นต้องมกี ารตรวจจับรับรถู้ งึ เหตกุ ารณท์ ีส่ นใจ
และเหตุการณ์ทถี่ กู ตรวจจับไดเ้ ท่านนั้ จงึ จะมีการตอบสนองต่อเหตกุ ารณ์น้นั
1. การติดต่อและใหข้ ้อมลู จากผู้ใช้(Input)
ขณะโปรแกรมทางาน ผใู้ ช้สามารถติดต่อหรือให้ขอ้ มลู ใหมๆ่ กับโปรแกรมได้
โดยทาไดห้ ลายทาง เชน่ การคลิกดว้ ยเมาส์ การกดคยี ์บอร์ด การเปล่ยี นระดับเสยี ง
ผา่ นการพดู ใสไ่ มโครโฟนการปรบั ค่าขอั มูลของตวั แปร ผา่ นการเลอ่ื นสไลส์เดอร์ เป็น
ตน้
2. การสง่ สารระหว่างตัวละครและเวที (Message)
เวทีและตวั ละครต่างๆ สามารถตดิ ตอ่ สอื่ สารกันได้ ด้วยการสง่ สารระหว่างกนั
โดยเรม่ิ จากการสร้างสารข้ึนมาก่อน จากน้ันตวั ละครหรอื เวทสี ามารส่งสารออกไปได้
ดว้ ยการกระจายสารซึ่งไม่ระบผุ ู้รบั เวทีหรือตวั ละครใดท่สี นใจรบั สารนี้ ก็สามารถ
ตรวจจบั สารนแี้ ละตอบสนองต่อสารทรี่ ับได้
3. การเกิดเหตุการณ์ (Events)
ในขณะทโ่ี ปรแกรมกาลังทางาน มเี หตกุ ารณ์เกิดขึน้ มากมายในโปรแกรม ท้งั
จากการติดต่อและโต้ตอบระหว่างโปรแกรมกับผู้ใช้ ระหวา่ งตวั ละครกับเวที หรอื
ระหวา่ งตัวละครด้วยกนั เองเหตุการณท์ ่ีเกดิ จากผใู้ ช้ เช่น ผใู้ ชค้ ลกิ ธงเขยี วเรมิ่ ต้น
โปรแกรม ผใู้ ช้คลิกตวั ละคร ผู้ใชพ้ มิ พ์ขอ้ ความตอบคาถามจากตวั ละคร เหตุการณท์ ่ี
เกิดจากตัวละครหรอื เวที เช่น การชนขอบเวทีของตัวละคร การชนหรือการสัมผสั
กันเองระหวา่ งตวั ละคร การส่งสารระหว่างตัวละคร เปน็
4. ตน้ การตอบสนองต่อเหตุการณ์ (Event handling)
เมื่อเหตุการณเ์ กดิ ขึ้น เหตกุ ารณ์ท่ไี ด้รับความสนใจเทา่ นน้ั ที่จะมีการ
ตอบสนองตอ่ เหตกุ ารณน์ ั้นๆ การตอบสนองต่อเหตุการณ์นน้ั ตอ้ งอาศยั การตรวจจบั
หรอื การรบั สารว่าเหตกุ ารณ์นนั้ ๆ เกดิ ขึ้นหรือยัง ใน Scratch ใชบ้ ล็อกควบคุม
รูปทรงหมวก เปน็ ตัวกาหนดวา่ เหตุการณ์ไหนได้รับความสนใจสว่ นสครปิ ต์ใตบ้ ลอ็ ก
ควบคุมดังกลา่ ว เป็นงานทีต่ อบสนองต่อเหตกุ ารณน์ ้ันๆ
เหตกุ ารณจ์ ะไม่มีความหมายเลย ถา้ ไมม่ สี คริปต์ใดคอยตวั จบั เหตุการณ์
เหล่าน้นั เชน่ ถ้าไม่มีสครปิ ต์ใดเลยตรวจจบั และตอบสนองการคลกิ ธงเขยี ว จากผู้ใช้
โปรแกรมที่เขยี นมา จะไมส่ ามารถเรม่ิ ต้นทางานได้เลย
5. การประสานงาน (Synchronization)
การทางานของตัวละครและเวที อาจเกดิ ขึ้นพรอ้ มๆ กันในลักษณะคู่ขนาน
(Parallelism) ท่ตี ่างคนต่างทางานของตนไป แตล่ ักษณะการทางานอกี แบบหนึง่ คือ
การทางานรว่ มกัน ท่มี ลี าดับขัน้ ตอนการทางานระหว่างกัน บางคร้ังตอ้ งคอยรับงาน
จากคนอ่ืน บางครัง้ ต้องส่งงานให้คนอ่ืนทาตอ่ ทุกคนต้องทางานประสานกนั ใหเ้ ป็น
จงั หวะเดียวกัน เพ่ือให้งานใหญ่สาเรจ็ ลุรว่ งไปไดก้ ารประสานงานให้เปน็ จังหวะ
เดยี วกัน คลา้ ยกับการส่งไม้ในการวิง่ ผลัด นกั วิ่งคนแรกสง่ ไมใ้ ห้นักวิ่งคนท่สี องว่ิงตอ่
จากน้ันสง่ ไม้ใหน้ ักว่ิงคนถัดไปว่งิ ตอ่ จนกระทั้งนกั วิ่งคนสดุ ทา้ ยวิ่งเขา้ เสน้ ชยั
การประสานงานระหวา่ งตวั ละครและเวทใี น Scratch ใชว้ ธิ กี ารสรา้ งสาร
(Message) เพ่ือใช้ส่ือสารระหวา่ งกนั เปรยี บเสมือนไมผ้ ลดั เมอื่ ต้องการส่งสารเพ่อื
สง่ ต่อการทางานระหวา่ งกนั กจ็ ะส่งกระจายสารออกไป (Broadcast) ผรู้ บั ทีส่ นใจใน
สารนี้ กจ็ ะรับสารแล้วทางานต่อไปเปรียบเสมือนการสง่ ไม้ผลดั ให้คนทร่ี ับไมว้ ิง่ ต่อไป
น้ันเอง
การโตต้ อบระหว่างผู้ใช้กับโปรแกรม เปน็ กระบวนการต่อเน่ือง ทผ่ี ใู้ ช้
ตดิ ต่อส่อื สารกับโปรแกรม ด้วยการให้ขอ้ มูลในรปู แบบตา่ งๆ ซงึ่ ทาให้เกดิ เหตุการณ์
ในโปรแกรม ตามลักษณะการให้ข้อมูลน้นั เมื่อโปรแกรมรับรูแ้ ละตรวจจับเหตกุ ารณ์
ท่ีเกิดขน้ึ กส็ ามารถตอบสนองต่อเหตุการณน์ ั้นๆ ได้ตามท่ไี ดเ้ ขยี นโปรแกรมเอาไว้
การโต้ตอบระหวา่ งผู้ใชก้ บั โปรแกรม เปน็ เหตุการณแ์ บบหนง่ึ ท่ีอาจเกิดเม่อื ใดก็ได้
เกิดชวั่ ครัง้ ช่วั คราวก็ได้ เกดิ อยา่ งตอ่ เนื่องก็ได้ หรอื ไม่เกิดเลยกไ็ ด้ ขึ้นกบั การ
ออกแบบและชนดิ ของโปรแกรม เช่น โปรแกรมแอนิเมชั่น ท่ีผใู้ ช้อาจดอู ย่างเดียว ไม่
โตต้ อบกับโปรแกรมเลย โปรแกรมตอบโจทยค์ ณิตศาสตร์ทผี่ ูใ้ ช้ต้องตอบคาถามกบั
โปรแกรม ดว้ ยการคลิกเมาส์หรอื กดคียเ์ ลือกคาตอบ หรอื โปรแกรมเกม ทีผ่ ้ใู ช้ตอ้ ง
โตต้ อบกับโปรแกรมตลอดเวลา เป็นต้น
การออกแบบช่องทางการตดิ ต่อระหวา่ งโปรแกรมกับผ้ใู ช้ (User interface
design) โปรแกรมรบั รกู้ ารตดิ ต่อ เมื่อได้รบั ข้อมลู จากผใู้ ช้ แต่จะตอบสนองเฉพาะส่งิ
ทโี่ ปรแกรมสนใจ ซึง่ ต้องถูกเขียนโปรแกรมไว้ล่วงหนา้ มาแลว้ เช่น เขยี นโปรแกรมให้
รับร้แู ละตอบสนองตอ่ การกดคยี ์ x ถ้าผูใ้ ชก้ ดคีย์ x โปรแกรมกจ็ ะตอบสนองตามทีไ่ ด้
เขียนโปรแกรมไว้ แต่ถา้ ผู้ใช้กดคีย์ y ซงึ่ โปรแกรมไมร่ บั รู้การกดคยี ์ y จงึ ไม่ทาอะไร
ตอบสนอง
การรบั ร้แู ละตอบสนองตอ่ การกดคีย์ x เปน็ การสรา้ งชอ่ งทางให้ผใู้ ช้
ตดิ ตอ่ ส่ือสารกบั โปรแกรมในขณะที่การกดคยี ์ y ไม่ได้เป็นช่องทางติดต่อระหวา่ งผู้ใช้
กับโปรแกรม นอกจากผ้ใู ชจ้ ะสามารถตดิ ต่อโปรแกรมผ่านอุปกรณ์ตา่ งๆ ของ
คอมพิวเตอร์ (เมาส์ คยี ์บอร์ด ไมโครโฟน) ไดแ้ ล้ว การสร้างตวั ละครข้นึ มา เพ่ือเปน็
อีกชอ่ งทางหนึ่งใหผ้ ใู้ ช้ตดิ ต่อกบั โปรแกรมโดยเฉพาะ ก็สามารถทาได้ โดยตัวละคร
เหลา่ นีจ้ ะอยกู่ ับท่ี คลา้ ยปุม พรอ้ มจะทางานเม่ือผู้ใช้คลกิ ทต่ี วั ละครเหลา่ น้ี
1. เปดิ เว็บเบราเซอร์โครม (Chrome Web Browser) และป้อน
https://scratch.mit.edu/ ทชี่ ่องท่อี ยูเ่ ว็บ กดแป้น Enter จะปรากฏหน้าต่าง
โปรแกรม Scratch
2. คลิก Join Scratch
3. ป้อนช่ือผใู้ ช้ (Scratch Username) เปน็ ภาษาองั กฤษ
4. ป้อนรหสั ผ่าน (Password) ไม่น้อยกวา่ 6 ตวั อักษร หรอื ตวั เลข
5. ป้อนรหสั ผ่านอีกครงั้ ในชอ่ ง Confirm Password และคลกิ ถัดไป (Next)
6. ป้อน เดือนเกิด ปี ค.ศ.เกดิ เพศ และประเทศ แลว้ กดป่มุ Next
7. ป้อนอีเมลของครู หรือผปู้ กครอง และยืนยันอเี มล
8. จะพบหน้าตา่ งต้อนรับ ให้คลิกปมุ่ OK Lets Go!
9. แจ้งครู หรอื ผปู้ กครอง ใหย้ ืนยันอเี มล โดยให้เข้าอีเมล และคลกิ Confirm
my email address
10. เม่ือสมคั รสมาชกิ เสร็จแลว้ จะปรากฏหน้าตา่ งน้ี แล้วทาการตรวจสอบชื่อ
ผใู้ ชท้ ม่ี ุมบนขวา
1. เปดิ เวบ็ เบราเซอร์ และป้อน https://scratch.mit.edu/download ลง
ชอ่ ง URL แล้วกดแปน้ Enter จะปรากฏหน้าตา่ งโปรแกรม Scratch ให้ดาวน์โหลด
2. เลือ่ นลงมาจะพบใหด้ าวนโ์ หลดโปรแกรม Adobe AIR โดยเลอื กตาม
ระบบปฏิบัตกิ ารทีใ่ ช้
3. คลิกปมุ่ Download now
4. เมื่อเสร็จสิ้นการดาวน์โหลด ใหค้ ลกิ ปมุ่ Next ทีอ่ ยู่ด้านล่างเพื่อตดิ ตั้ง
Adobe AIR
5. เม่อื ตดิ ตงั้ Adobe AIR เสรจ็ แลว้ ใหก้ ลับมาหน้าเว็บไซต์เดมิ จะพบขน้ั ตอน
ที่ 2 ใหด้ าวนโ์ หลดโปรแกรม Scratch Offline Editor โดยเลอื กตามระบบปฏิบัติการ
ทีใ่ ช้
15
6. เมื่อเสร็จสนิ้ การดาวน์โหลด ใหด้ ับเบิลคลกิ ไฟล์ท่อี ยดู่ า้ นล่างเพอ่ื ตดิ ตั้ง
โปรแกรม Scratch
7. เมือ่ คลิกตดิ ตั้งโปรแกรม Scratch จะปรากฏหน้าตา่ ง Open File คลกิ ปุ่ม
Run เพ่อื ตดิ ต้งั โปรแกรม จากนั้นคลิกปุ่ม Continue
8. รอการติดตง้ั โปรแกรม Scratch เมอ่ื เสรจ็ สน้ิ การติดตั้งจะปรากฏหน้าต่าง
การเขียนโปรแกรมภาษา Scratch
การเขยี นโปรแกรม scratch ทาได้โดยการเขยี นคาส่ังใหต้ ัวละครทางาน ซ่ึงตัว
ละครหลักในโปรแกรม คือ แมวมีช่ือวา่ เจ้าsprite
หากนักเรยี นอยากให้เจา้ sprite พดู ว่า hello world นักเรยี นควรสร้าง
ชุดคาสง่ั อยา่ งไร
1. แถบเมนเู ครอื่ งมือ (Toolbar)
2. เคร่อื งมือเวที (Stage Toolbar)
3. ข้อมูลของเวที หรอื ตวั ละครท่ถี กู เลือก (Sprite Header Pane)
4. กล่มุ บล็อกคาสงั่
5. บลอ็ กคาส่งั ในกล่มุ ทเ่ี ลือก
6. พ้ืนที่เขยี นสคริปต์ (Script)
7. เวที (Stage)
8. ตัวละคร
9. รายการตวั ละคร และเวทที ่ใี ชใ้ นโปรเจ็กต์ปัจจุบัน (Sprites Pane)
บลอ็ กโปรแกรมคาสงั่ เปน็ บลอ็ กคาสัง่ โปรแกรมภาษาคอมพิวเตอร์ทใ่ี ช้สง่ั การ
ใหโ้ ปรแกรม scratch ทางานตามท่ีได้ออกแบบไว้ โดยมบี ล็อคโปรแกรมคาสง่ั พื้นฐาน
ที่ควรทราบดังนี้
19
00
10
และหากต้องการเปล่ียนภาษาในโปรแกรมให้คลกิ ทส่ี ัญลักษณ์
การเขียนโปรแกรม scratch คอื การเขียนสคริปให้ตัวละครแตล่ ะตัว
รวมทง้ั ฉาก ทางานรว่ มกันโดยที่ตัวละครแตล่ ะตัวรวมทั้งฉาก สามารถมีได้
หลายสครปิ ต์ หรือไมม่ สี คริปตเ์ ลยกไ็ ด้ เช่น
การกาหนดวตั ถุประสงคห์ รอื ปัญหา :ตอ้ งการให้ตวั ละครพดู ว่า"โรงเรียนของฉนั "
การวางแผนการแกป้ ัญหา :ตอ้ งออกแบบซอฟตแ์ วร์อยา่ งชัดเจนและนาไปเขียน
โปรแกรมภาษาคอมพิวเตอร์ scratch 20
การออกแบบซอฟต์แวร์ : ออกแบบโดยใชผ้ ังงาน
1. เลือกตวั ละคร Sprite 1
2. เลอื กบล็อกรูปรา่ ง แลว้ ทาการลากบล็อกพดู ออกมาวางตรงพื้นทเ่ี ขียนโปรแกรม
(Script Area)
3. คลกิ ชอ่ งขอ้ ความและแก้ไขเป็นคาว่า "โรงเรยี นของฉนั " 21
00
10
4. คลกิ พน้ื ท่ขี องบล็อกเพื่อทาการประมวลผล หรือ Runโปรแกรม จากนั้นตวั ละคร
Sprite1 จะพูดคาว่า "โรงเรียนของฉนั "
5. ทาการบันทึก โดยเลือกแฟม้ และเลือกบันทกึ 22
หมายเหตุ หากเพ่มิ ตัวละครมากกว่า 1 ตัว ให้คลิกท่ตี วั ละครน้นั ๆ
ในชอ่ งข้อมูลของเวที หรอื ตัวละครทถ่ี ูกเลอื กก่อน จึงเขียนคาสง่ั ให้ ดังรูป
23
เอกสำรอำ้ งอิง
บุณฑริกา สขุ หทยั ธรรม(2564).พ้นื ฐานการเขยี นโปรแกรม.3 ตลุ าคม 2564 .จาก.
http://www.thaischool1.in.th/site/documentschool-
download.php?doc_id=21990
ประวัตผิ จู้ ดั ทำ
ช่ือ :: นางสาวน้าฝน เบา้ ทอง
ชอ่ื เล่น :: ฝน
วัน เดือน ปี เกดิ :: 05 มิถุนายน 2536
ภมู ลิ ำเนำ :: จงั หวดั หนองบวั ลาภู
อำชีพ :: ข้าราชการครู ตาแหน่ง ครู คศ.1
โรงเรยี นหนองม่วงชมพูทอง
กำรศกึ ษำ :: ปรญิ ญาตรี สาขาคอมพิวเตอร์ศึกษา คณะครุศาสตร์
มหาวทิ ยาลยั ราชภัฏมหาสารคาม
:: ปัจจุบันกาลังศึกษาระดับปริญญาโท สาขาหลักสูตรและการเรียน
การสอน มหาวทิ ยาลยั ราชภัฏอุดรธานี