^Back To Top

Scratch ไม่ได้ใช้การเขียนโปรแกรมเชิงวัตถุ (Object oriented) อย่างจริงจัง แต่โปรเจก GravityBlocks สะท้อนการใช้หลักการเขียนโปรแกรมเชิงวัตถุ การเขียนโปรแกรมเชิงวัตถุ (Object oriented) เป็นการมองแบบรวมศูนย์อยู่ที่ตัววัตถุ (object) คือสนใจว่าวัตถุที่จะสร้างนั้นมีองค์ประกอบหรือคุณสมบัติอะไรบ้าง และทำงานอะไรได้บ้าง
ในมุมมองหนึ่ง การเขียนโปรแกรม คือการบังคับทิศทางของข้อมูล ที่เราป้อนเข้าไปในโปรแกรม ผ่านกระบวนการต่างๆ จนได้ข้อมูลใหม่ออกมา ข้อมูลที่เข้าและออกยังอาจเกิดขึ้น ขณะที่โปรแกรมทำงาน ตัวอย่างเช่น โปรแกรมฟังเพลง ผู้ใช้เลือกเพลงที่อยากฟัง (ข้อมูลเข้า ชื่อเพลง) โปรแกรมก็เปิดเพลงนั้นให้ฟัง (ข้อมูลออก เสียง) ขณะฟังเพลง ผู้ฟังสามารถลดเสียง หรือหยุดเพลงชั่วขณะได้เป็นต้น
การเขียนโปรแกรม คงหนีไม่พ้นการคำนวณและการประมวลผลข้อมูล โดยข้อมูลที่สามารถนำมาคำนวณได้ คือ ตัวเลข ตัวอักษร และ ตรรกะ (ถูก หรือ ผิด) ซึ่งพบเห็นได้เกือบจะทุกโปรเจกใน Scratch
การออกแบบหน้าตาโปรแกรม (user interface) เป็นเรื่องสำคัญที่ไม่ควรมองข้าม โดยเฉพาะโปรแกรมที่ต้องการโต้ตอบกับผู้ใช้ แม้เป็นโปรแกรมเล็กๆ แต่อาจใช้งานยาก ถ้าหน้าตาโปรแกรมไม่สื่อถึงการใช้งาน หรือไม่สามารถดึงศักยภาพของโปรแกรมออกมาได้ เพราะไม่มีช่องทางให้ติดต่อ
การสร้างปุ่มคำสั่ง ทำได้โดยการสร้างตัวละคร ที่รับการคลิกเมาส์จากผู้ใช้ เพื่อให้โปรแกรมทำงาน เช่น เมื่อคลิกที่คีย์เปียโนใดๆ ก็จะมีเสียงออกมาจากคีย์นั้นๆ แต่การสร้างตัวละครให้เป็นปุ่มคำสั่งโดยเฉพาะก็มี เช่น ปุ่มเพิ่มหรือลดจำนวนลูกบอล และปุ่มการสะท้อนของลูกบอล นอกจากนั้น โปรแกรมยังรับคำสั่งจากผู้ใช้ผ่านการกดคีย์ต่างๆ บนคีย์บอร์ด เช่น a-z 0-9 คีย์ลูกศร และคีย์เว้นวรรค (space bar)
ใน Scratch หลักการของฟังก์ชั่นนั้นไม่สมบรูณ์ โปรแกรมที่เขียนด้วย Scratch จะประกอบด้วยสคริปต์หลายๆ สคริปต์ ในแต่ละตัวละคร แต่ละสคริปต์ถูกมองว่าเป็นการทำงานเฉพาะอย่าง ซึ่งคล้ายกับหน้าที่ของฟังก์ชั่น ปกติแล้ว ฟังก์ชั่นต้องมีชื่อ สามารถรับหรือคืนข้อมูลได้ และจะทำงานเมื่อถูกเรียกชื่อฟังก์ชัน พร้อมกับข้อมูลเข้า (function call) แต่สคริปต์ใน Scratch ไม่มีชื่อ รับหรือส่งข้อมูลไม่ได้
รูปแบบฟังก์ชันใน Scratch มีหลากหลาย และซับซ้อนกว่าที่คิด มาลองดูตัวอย่างใน Delicious Fish
×

มีข้อผิดพลาด

คุณไม่มีสิทธิ์ในการดูข้อมูลในส่วนนี้

Copyright © 2013. Car Repair  Rights Reserved.