โปรแกรม
Scratch
(อ่านว่า สะ-แครช) เป็นโปรแกรมภาษา
ที่ผู้เรียนสามารถสร้างชิ้นงานได้อย่างง่าย เช่น นิทานที่สามารถโต้ตอบกับผู้อ่านได้
ภาพเคลื่อนไหว เกม ดนตรี และศิลปะ และเมื่อสร้างเป็นชิ้นงานเสร็จแล้ว สามารถนำชิ้นงานที่สร้างสรรค์นี้
แสดง และแลกเปลี่ยนความคิดเห็นร่วมกับผู้อื่นบนเว็บไซต์ได้ ทำให้ผู้เรียนได้เรียนรู้หลักการทางคณิตศาสตร์
และแนวคิดการโปรแกรมไปพร้อมๆ กับการคิดอย่างสร้างสรรค์ มีเหตุผล เป็นระบบ
และเกิดการทางานร่วมกัน
โปรเจกต์
รู้จักโปรเจกต์
โปรเจกต์ใน
Scratch
มีโครงสร้าง 3 ส่วนประกอบด้วย
1. เวที (Stage)
เวทีมีขนาดกว้าง
480 หน่วย สูง 360 หน่วย ในแต่ละโปรเจกต์มีเวทีเดียว
จึงมีชื่อเดียวและไม่สามารถเปลี่ยนชื่อได้ เวทีใช้แสดงผลการทางานของสคริปต์ (script)
เสียง (sound) หรือพื้นหลัง
(background) ได้
และพื้นหลังที่จะแสดงบนเวทีจะต้องมีขนาดไม่เกินขนาดของเวที (480 X 360) ถ้าพื้นหลังที่ใช้มีขนาดใหญ่กว่า โปรแกรม Scratch จะลดขนาดพื้นหลังนั้นอัตโนมัติเพื่อให้พอดีกับขนาดของเวที
การบอกตาแหน่งใดๆ
บนเวทีจะบอกโดยใช้ค่า (x, y) โดยค่า x และ y ที่ตาแหน่ง (0, 0) จะอยู่ตรงกลางเวที
2. ตัวละคร (Sprite)
ตัวละครแต่ละตัวจะมีข้อมูลแตกต่างกัน
โดยสามารถคลิกที่ภาพตัวละครในพื้นที่แสดงรายการตัวละคร
เพื่อดูข้อมูลของตัวละครนั้น เช่น ตัวละครปลาทองในโปรเจกต์ Aquarium
มีข้อมูล
2.1 ชื่อตัวละคร โปรแกรมจะตั้งให้เป็น
Sprite
1, 2, 3… ตามลาดับที่สร้างขึ้นโดยอัตโนมัติ
ถ้าต้องการเปลี่ยนชื่อตัวละครให้พิมพ์ชื่อใหม่บนแถบชื่อหมายเลข 1
2.2 ชุดตัวละคร ชุดตัวละคร (Costumes)
เป็นลักษณะของตัวละคร ซึ่งสามารถเปลี่ยนแปลงภาพเดิม หรือเพิ่ม
หรือเพิ่มภาพใหม่ และอาจเขียนสคริปต์ให้กับตัวละครเปลี่ยนแปลง หรือเคลื่อนไหวในรูปแบบต่างๆ
3.
สคริปต์ (Script)
สคริปต์คือชุดคาสั่งสาหรับตัวละครหรือเวที
เพื่อสั่งให้ตัวละครหรือเวทีทางานตามวัตถุประสงค์ที่ต้องการ
โดยการเลือกสคริปต์จากกลุ่มบล็อก ซึ่งแบ่งเป็น 8 กลุ่ม ดังนี้
เมื่อคลิกที่กลุ่มบล็อกใด
จะปรากฏบล็อกในกลุ่มนั้น บล็อกสำหรับตัวละครและเวทีอาจมีความแตกต่างกันบ้าง เช่น
กลุ่มบล็อก Motion ของตัวละครจะมีบล็อกดังรูปด้านซ้าย
ส่วนรูปด้านขวาเป็นของเวทีซึ่งไม่มีบล็อก Motion เนื่องจากเวทีเคลื่อนที่ไม่ได้
สคริปต์หนึ่งๆ
ประกอบไปด้วยบล็อกมาเรียงต่อกันเป็นกลุ่ม
บางบล็อกสามารถอยู่ข้างในหรือซ้อนอยู่บนบล็อกอื่นได้
ตัวอย่างการเขียนสคริปต์ สั่งให้แมงกะพรุนเคลื่อนที่
ก่อนเขียนสคริปต์ต้องเลือกตัวละครก่อน แล้วนาบล็อกที่ต้องการมเรียงต่อกันในพื้นที่สาหรับเขียนสคริปต์
1. คลิกเมนู File -> Save หรือ Save As จะปรากฏกรอบโต้ตอบ Save Project
2. พิมพ์ชื่อผู้ทาโปรเจกต์
3. พิมพ์รายละเอียดเกี่ยวกับโปรเจกต์
4. พิมพ์ชื่อโปรเจกต์ จะได้ไฟล์ข้อมูลที่มีส่วนขยายเป็น .sb ในโฟล์เดอร์ที่ใช้บันทึกงาน เช่น MyFirstProject.sb
5. คลิกปุ่ม ok
6. โปรเจกต์จะถูกบันทึกไว้ที่ C:\Documents and Settings\Administrator \
My Documents\Scratch Projects (โฟลเดอร์ My Projects)
บล็อก
7.2 บล็อกสร้างภาพเคลื่อนไหว
การสร้างโปรเจกต์ในโปรแกรม Scratch สามารถสร้างตัวละครได้หลายตัว ซึ่งตัวละครแต่ละตัว
จะมีชุดตัวละครอย่างน้อยหนึ่งชุด และสามารถเพิ่มเติมได้ การทำให้ตัวละครเคลื่อนไหวจะใช้วิธีเปลี่ยนสลับชุดตัวละครไปมาอย่างรวดเร็ว
พร้อมกับสั่งให้ตัวละครเคลื่อนที่ในลักษณะใดลักษณะหนึ่ง
โดยมีการเขียนสคริปต์จากกลุ่มบล็อกดังต่อไปนี้
วิธีการสร้าง
7.3 การสร้างภาพเคลื่อนไหวประกอบเสียงดนตรี
7.3.1
การสร้างโปรเจกต์เพื่อให้มีการเปลี่ยนภาพฉาก (Backdrops) ของเวที (Stage) ได้หลายภาพ
สามารถเขียนสคริปต์ให้ตัวละครหรือฉากแยกส่วนกัน
เพื่อสั่งงานให้เกิดเหตุการณ์ที่ต่างกัน แต่แสดงผลการทำงานไปพร้อมๆ กัน
ซึ่งบล็อกที่ใช้มีดังต่อไปนี้
1.
การเพิ่ม ลบตัวละคร
1. วิธีที่ 1 คลิกเครื่องมือ (Delete)
2. หรือ วิธีที่ 2 คลิกขวาที่ตัวละคร
3. คลิกคำสั่ง delete
2. การเพิ่มตัวละคร (Sprite) จากไฟล์ภาพ ดังนี้
1. คลิกที่ไอคอน (Choose
sprite from library) จะปรากฏหน้าต่าง Sprite Library ดังรูป
2. คลิก Category
: Animals
3. เลือกชุดตัวละคร (Sprite)
4. คลิกปุ่ม ok
3.การส่งออกตัวละคร
1. คลิกขวาที่ตัวละคร
2. เลือกคำสั่ง Save
to local file
3. คลิกเลือกโฟลเดอร์ที่ต้องการจัดเก็บ Documents / Scratch Projects
4. คลิกปุ่ม open
5. ตั้งชื่อไฟล์ตัวละคร
6. คลิกปุ่ม save
4.การเพิ่มตัวละคร
1. คลิกไอคอน New sprite :
Upload sprite from file
2. เลือกโฟลเดอร์ที่ได้เก็บบันทึกไว้ Documents/Scratch
Projects
3. เลือกไฟล์ตัวละคร
4. คลิกปุ่ม open
5. การเพิ่มตัวละครแบบวาดขึ้นเอง
1. คลิกไอคอน New sprite : Paint new sprite
2. ปรากฏหน้าต่างของแท็บ Costumes ตัวอย่างเป็นการสร้างตัวละครใหม่ เป็นรูปหอยทาก
3. เมนูเครื่องมือในการวาด
4. กล่องสี
6.
การเพิ่มชุดตัวละคร
1. คลิกขวาที่รูปภาพ costume1 เลือกคำสั่ง duplicate
เพื่อสร้างชุดตัว ละครใหม่เหมือนกับชุดตัวละคร costume1
2. คลิกรูปภาพ costume2 เพื่อแก้ไขชุดตัวละคร
3. คลิกเครื่องมือ (Grow) เพื่อขยายขนาดรูปภาพเพื่อปรับแก้ชุดตัวละคร
7.3.2 พิกัดและทิศทาง
การทำให้ตัวละคร
(Sprite)
สามารถเคลื่อนที่ไปได้ในทิศทางต่างๆ สามารถเขียนสคริปต์ให้ตัวละคร
เพื่อให้การแสดงผลการเคลื่อนที่ของตัวละครมีลักษณะเป็นธรรมชาติมากที่สุด ซึ่งบล็อกที่ใช้มีดังต่อไปนี้
กลุ่มบล็อก Motion เพื่อให้ตัวละครเคลื่อนที่ไปในทิศทางต่างๆ
การกำหนดทิศทางและตำแหน่งการเคลื่อนที่ของตัวละคร
เส้นสีน้ำเงินเป็นตัวกำหนดทิศทางการเคลื่อนที่ของตัวละคร
ในภาพแมวมีทิศทางการเคลื่อนที่ 108 องศา
ทิศทางการเคลื่อนที่ที่ระบุในโปรแกรม Scratch เช่น
0 องศาจะมีทิศทางการเคลื่อนที่ไปด้านบน
90 องศาจะมีทิศทางการเคลื่อนที่ไปทางขวา
-90 องศาจะมีทิศทางการเคลื่อนที่ไปทางซ้าย
180, -180 องศาจะมีทิศทางการเคลื่อนที่ไปด้านล่าง
7.3.3 โน้ตดนตรี
โครงสร้างของคีย์บอร์ดในเปียโนจะแบ่งเป็นกลุ่มคีย์ออกเป็นกลุ่มๆ
แต่ละกลุ่มประกอบด้วยกลุ่มที่มีคีย์สีขาว 7 ตัว (C-โด D-เร E-มี F-ฟา G-ซอล A-ลา B-ที) และคีย์สีดำ 5 ตัว (C#, Eb,F#, G#, Bb) เสียงดนตรีในกลุ่มคีย์สีขาวทั้ง 7 เสียงนั้น
ถือเป็นระดับเสียงตามธรรมชาติของมนุษย์ซึ่งระดับเสียงจะห่างกัน 1 เสียงเต็ม
ส่วนเสียงดนตรีในกลุ่มคีย์สีดำไม่ใช่เสียงเต็มแบบธรรมชาติจึงต้องมีการสร้างสัญลักษณ์เพื่อทำให้โน้ตนั้นมีระดับเสียงสูงขึ้นหรือต่ำลงครึ่งเสียงและสัญลักษณ์ดังกล่าวก็คือเครื่องหมายชาร์ฟ
(#) และแฟล็ท (b)ในโปรแกรม Scratch
ใช้บล็อก play note ระบุตัวเลขเพื่อแทนระดับเสียงดนตรี
ดังตัวอย่างในตาราง
-
เครื่องหมาย ชาร์ฟ (Sharp: #) เมื่อปรากฎที่โน้ตตัวใดจะทำให้โน้ตนั้นมีระดับเสียงสูงขึ้นครึ่งเสียงเช่น
C# อ่านว่า ซี-ชาร์ฟ จะมีระดับเสียงสูงกว่า C (โด) อยู่ครึ่งเสียง ซึ่งใน Scratch จะเป็นการเพิ่มค่าตัวเลข
1 ค่า ตัวอย่างเช่น C มีค่าตัวเลขในบล็อก
play note เป็น 48 C# จะมีค่าเป็น 49
- เครื่องหมาย แฟล็ท (Flat:
b) ตรงกันข้ามกับ # เมื่อปรากฎที่โน้ตตัวใด
จะทำให้โน้ตนั้นมีระดับเสียงต่ำลงครึ่งเสียง เช่น Eb อ่านว่า
อี-แฟล็ท จะมีระดับเสียงต่ำกว่า E (มี) อยู่ครึ่งเสียง
ซึ่งใน Scratch จะเป็นการเพิ่มค่าตัวเลข 1 ค่า ตัวอย่างเช่น E มีค่าตัวเลขในบล็อก play
note เป็น 52 Eb จะมีค่าเป็น 51
กระจายสารและรับสาร
7.4 การกระจายสารและรับสาร
การใช้บล็อก broadcast เพื่อกระจายสาร
1. เลือกบล็อก
มาวางในสคริปต์ของตัวละครที่ต้องการกระจายสาร
2. คลิกที่ลูกศรหลัง message1 หลังจากนั้นเลือก new message
3. พิมพ์ข้อความที่ต้องการกระจายสาร
เช่น คำว่า “walk” และคลิกปุ่ม OK
มุมและทิศทาง
7.5
มุมและทิศทาง
ทิศทาง
การอ้างอิงทิศทางในโปรแกรม Scratch จะหมายถึงค่าตัวเลขที่แสดงถึงองศา ทิศทางสามารถมีค่าเป็นได้ทั้งบวกและลบ
โดยค่าจะเพิ่มขึ้นตามแนวเข็มนาฬิกา ตัวอย่างเช่น ทิศตะวันตกคือ ทิศ -90 องศา (หันหน้าไปทางซ้าย), ทิศเหนือคือทิศ 0 องศา (หันหน้าไปด้านบน), ทิศตะวันออก คือ ทิศ 90 องศา (หันหน้าไปทางขวา), และทิศใต้คือทิศ 180 องศา (หันหน้าไปด้านล่าง) เป็นต้น การใช้คำสั่งวางปากกา (pen
down) ร่วมกับคำสั่งเคลื่อนที่ (move) และคำสั่งหมุน
(turn) จะทำให้เราสามารถวาดรูปเรขาคณิตต่างๆ
ตามที่ต้องการได้
มุมของรูปหลายเหลี่ยมด้านเท่ามุมเท่า
Scratch
จะใช้มุมภายนอกในการหมุนปากกาเพื่อสร้างรูปหลายเหลี่ยมใดๆ
โดยมีหลักการว่าผลบวกของมุมภายนอกจากการหมุนปากกาเพื่อให้ได้รูปหลายเหลี่ยมใดๆ
มีค่าเท่ากับ 360 องศาเสมอ
และมุมภายนอกของรูปหลายเหลี่ยมด้านเท่ามุมเท่า ทุกมุมมีค่าเท่ากัน เราสามารถนำ 360หารด้วยจำนวนมุม เช่น วาดรูปสามเหลี่ยมด้านเท่า 360/3 =120 องศา 120 องศา คือ
มุมองศาที่จะใช้สร้างรูปสามเหลี่ยมด้านเท่า
ตัวอย่าง
แสดงมุมภายนอกของรูปหลายเหลี่ยมด้านเท่ามุมเท่า
คำสั่งพื้นฐาน
กลุ่มบล็อก Pen ซึ่งเปรียบเสมือนปากกาที่ช่วยในการวาดรูปต่างๆ
ในกิจกรรมนี้จะใช้บล็อกในกลุ่มบล็อก Pen ดังนี้
การใช้งานคำสั่งอื่นๆ
7.6
การใช้งานคำสั่งอื่นๆ
7.6.1 เครื่องมือใน Paint Editor
การสร้างชุดตัวละครขึ้นใหม่ใน Scratch ทำได้โดยคลิกปุ่ม
หรือคลิกที่ชุดตัวละครที่มีอยู่แล้ว หรือพื้นหลัง
ก็จะสามารถสร้างหรือแก้ไขชุดตัวละครหรือพื้นหลังได้จากหน้าต่างโปรแกรมวาดรูป (Paint
Editor) ดังนี้
เครื่องมือในโหมดรูปเวกเตอร์
สิ่งที่สำคัญของการสร้างตัวละครด้วยวิธีนี้คือ
การกำหนดจุดศูนย์กลางของชุดตัวละคร ซึ่งนอกจากใช้บอกตำแหน่งพิกัดของตัวละครแล้ว
ยังเป็นจุดอ้างอิงสำหรับการเคลื่อนที่ การหมุน และการสลับทิศ
สำหรับใน
Scratch
version 2 นี้
ยังสามารถปรับเปลี่ยนชนิดของรูปชุดตัวละครหรือพื้นหลัง ระหว่างโหมดภาพแบบเวกเตอร์
(Vector Mode) หรือแบบบิตแมพได้ด้วย (Bitmap Mode) โดยแบบเวกเตอร์จะทำให้การขยายภาพใหญ่ขึ้น ได้ภาพที่ไม่แตก
แต่สีอาจไม่ละเอียดเท่าภาพแบบบิตแมพ อย่างไรก็ตาม การเปลี่ยนโหมดของภาพจากเดิมที่เคยสร้างไว้ในโหมดหนึ่ง
ไปเป็นอีกโหมดหนึ่ง อาจทำให้ได้คุณภาพของภาพในโหมดใหม่เสียไปได้
จึงควรกำหนดโหมดของภาพตามที่ต้องการตั้งแต่เริ่มสร้างภาพใหม่ในโหมดบิตแมพจะมีส่วนประกอบคล้ายโหมดเว็กเตอร์
โดยมีหน้าต่างดังนี้
7.6.2 การใช้เลเยอร์ (layers)
เลเยอร์
คือ ลำดับชั้นการวางซ้อนกันของตัวละคร ลักษณะการทำงานแบบเลเยอร์
เป็นเหมือนการวางแผ่นใส ซ้อนทับกันเป็นลำดับชั้น โดยแต่ละแผ่นใส
เปรียบเสมือนเป็นแต่ละเลเยอร์ บริเวณของเลเยอร์ที่ไม่มีรูป
จะเห็นทะลุถึงเลเยอร์ที่อยู่ข้างล่าง โดยกระบวนการเช่นนี้
จะทำให้เกิดเป็นภาพที่สมบูรณ์และทำให้เราสามารถจัดวางตำแหน่งของตัวละครได้ง่าย
ผู้ใช้สามารถกำหนดชั้นของเลเยอร์เพื่อใช้วางตัวละครได้

ผลลัพธ์ที่ได้เป็นดังรูป
ถ้าต้องการให้ตัวละครมาอยู่ด้านหน้า 1 เลเยอร์สามารถใช้คำสั่ง
7.6.3 การใช้งานตัวแปร
ตัวแปร
(Variables)
ตัวแปรเปรียบเสมือนที่เก็บข้อมูลชั่วคราว
ใช้เก็บข้อมูลได้เพียงค่าเดียว ซึ่งค่าที่เก็บไว้สามารถนำไปใช้ได้
หรือเปลี่ยนแปลงให้เป็นค่าใหม่ได้ ตัวอย่างการนำตัวแปรไปใช้ เช่น นำไปเก็บคะแนนในการเล่นเกม
เก็บตำแหน่งในแกน X
ของตัวละคร หรือเก็บเวลาที่เกมดำเนินไป เป็นต้น
โปรแกรม
Scratch
มีทั้งตัวแปรที่สร้างมาให้แล้ว และตัวแปรที่ผู้ใช้สร้างขึ้นเอง
สำหรับตัวแปรที่มีมาให้และนำไปใช้งานได้เลย เช่น ใช้เก็บเวลาที่ดำเนินไปของโปรแกรม หรือ
ใช้เก็บคำตอบที่ผู้ใช้ป้อนเข้ามาจากการทำงานของบล็อก
สำหรับตัวแปรที่ผู้ใช้สร้างขึ้นเอง
ก่อนที่จะใช้งานตัวแปรได้ ผู้ใช้ต้องสร้างและตั้งชื่อให้กับตัวแปรก่อน
จากนั้นจะสามารถกำหนดค่าที่ต้องการเก็บให้กับตัวแปรได้ การทำงานกับตัวแปรที่ผู้ใช้สร้างขึ้นเอง สามารถทำได้ดังนี้
•
การสร้างตัวแปรใหม่ ให้คลิกที่ปุ่ม แล้วกำหนดชื่อใหักับตัวแปร
โดยผู้ใช้สามารถเลือกได้ว่าจะให้ตัวแปรนี้ใช้งานได้สำหรับทุกตัวละคร (คลิกเลือกที่
For all sprites) หรือใช้งานได้เฉพาะสำหรับตัวละครนี้
(คลิกเลือกที่ For this sprite only) จากนั้นจะปรากฏ
บล็อกคำสั่งที่สามารถใช้งานได้กับตัวแปรนี้
ดังรูปได้
• การกำหนดให้ซ่อนหรือแสดงค่าของตัวแปรบนเวที
สามารถทำได้โดย การคลิกให้ปรากฏเครื่องหมาย ✓ ที่หน้าชื่อตัวแปร ดังหมายเลข 1 จะปรากฏค่าของตัวแปรบนเวทีดังหมายเลข
2 โดยค่าเริ่มต้นของตัวแปรจะเป็นค่าจำนวนเต็ม 0
•
การลบตัวแปรที่ไม่ต้องการใช้แล้ว
ให้คลิกขวาตัวแปรที่ต้องการลบแล้วเลือกคำสั่ง delete variable ซึ่งมีข้อควรระวัง คือ เมื่อมีการลบตัวแปร จะต้องตรวจสอบสคริปต์ที่มีการนำตัวแปรดังกล่าวไปใช้ด้วย เพราะผลลัพธ์ที่ได้อาจมีความผิดพลาด
7.5.4 การโคลนร่างตัวละคร
Scratch ตั้งแต่เวอร์ชัน 2.0
มีรองรับคำสั่งพิเศษที่อนุญาตให้ตัวละครสร้าง “โคลน” ของตัวเองขึ้นมา โดยตัวละครใหม่จะคัดลอกพฤติกรรมของตัวละครต้นแบบมาทั้งหมด
รวมถึงตัวแปรที่สร้างขึ้นมาใช้สำหรับตัวละครนั้นๆ และค่าปัจจุบัน
ตัวอย่างที่
1 กองทัพลูกโป่ง
การสร้างกองทัพลูกโป่ง
สามารถทำได้ดังขั้นตอนต่อไปนี้
1. เริ่มต้นจากการสร้างโปรเจกต์ใหม่
และสร้างตัวละครที่เป็นรูปลูกโป่งดังภาพ
2. สร้างสคริปต์เพื่อกำหนดพฤติกรรมให้ตัวละครต้นแบบเมื่อเริ่มต้นทำงาน
โดยให้ต้นแบบซ่อนตัวเองไว้และวางตำแหน่งไว้ที่ขอบด้านล่างของเวที และใช้บล็อก crate cloe of mysell โคลนตัวเองขึ้นมาใหม่ 1 ตัวทุกๆ หนึ่งวินาที ดังแสดง
3.
พฤติกรรมสำหรับตัวโคลนสามารถนำไประบุไว้ภายใต้บล็อก when i start as a cloe เพื่อให้ตัวโคลนเริ่มทำงานทันทีที่เกิดขึ้นมา
สคริปต์ตัวอย่างนี้ทำให้โคลนปรากฏตัวขึ้น และเคลื่อนที่ขึ้นไปด้านบนของเวทีครั้งละ
3 หน่วย จนกระทั่งเมื่อถึงขอบด้านบนของเวทีตัวโคลนจะลบตัวเองทิ้งด้วยบล็อก ดังนี้
4.
คลิก
เพื่อเริ่มต้นทำงาน จะเห็นว่าทุกๆ
หนึ่งวินาทีจะมีลูกโป่งปรากฏขึ้นจากด้านล่างของหน้าต่างแสดงผล และเคลื่อนที่ขึ้นด้านบนจนกระทั่งสุดขอบหน้าต่างจึงหายไป
สมัครสมาชิก:
บทความ (Atom)