← กลับไปยังบทความทั้งหมด

ภาษาลิงโก (Lingo) ภาษาโปรแกรมสำหรับมัลติมีเดียเชิงโต้ตอบ

สรุปใจความสำคัญ

  • พัฒนาโดย John H. Thompson ในปี 1989 สำหรับใช้งานใน Adobe Director
  • เป็นภาษาหลักที่ขับเคลื่อนเนื้อหาบนแพลตฟอร์ม Adobe Shockwave ในยุค 90
  • รองรับทั้งไวยากรณ์แบบบรรยาย (Verbose) ที่คล้ายภาษาพูด และไวยากรณ์แบบจุด (Dot Syntax) แบบภาษาโปรแกรมสมัยใหม่
  • มีระบบสคริปต์ 4 ประเภท (Cast, Behavior, Movie, Parent) เพื่อการจัดการมัลติมีเดียที่แตกต่างกัน

ภาษาลิงโก (Lingo) เป็นภาษาโปรแกรมประเภทสคริปต์เชิงวัตถุ (Object-Oriented Scripting Language) ที่ถูกพัฒนาขึ้นโดย John H. Thompson เพื่อใช้งานร่วมกับซอฟต์แวร์ Adobe Director (ซึ่งเดิมชื่อ Macromedia Director) โดยมีจุดประสงค์หลักเพื่อใช้ในการพัฒนาซอฟต์แวร์แอปพลิเคชันบนเดสก์ท็อป, ตู้คีออสเชิงโต้ตอบ (Interactive Kiosks), สื่อ CD-ROM และเนื้อหาสำหรับแพลตฟอร์ม Adobe Shockwave

ในช่วงทศวรรษ 1990 Lingo เป็นภาษาหลักบนแพลตฟอร์ม Adobe Shockwave ซึ่งมีบทบาทสำคัญอย่างยิ่งในตลาดผลิตภัณฑ์มัลติมีเดียเชิงโต้ตอบ โดยถูกนำไปใช้สร้างเกมแนวผจญภัยกราฟิกจำนวนมาก เช่น The Journeyman Project, Total Distortion และซีรีส์ Didi & Ditto รวมถึงเกมออนไลน์ฟรีนับร้อยบนเว็บไซต์ยอดนิยมในสมัยนั้นอย่าง Miniclip และ Shockwave.com

ความสามารถและลักษณะการใช้งาน

Lingo ถูกออกแบบมาให้มีความยืดหยุ่นสูง สามารถใช้สร้างส่วนต่อประสานกับผู้ใช้ (User Interface), จัดการกราฟิกแบบราสเตอร์ (Raster Graphics), กราฟิกเวกเตอร์ (Vector Graphics) และกราฟิก 3 มิติ รวมถึงการประมวลผลข้อมูลทั่วไป นอกจากนี้ Lingo ยังมีไวยากรณ์พิเศษสำหรับการประมวลผลภาพและการจัดการวัตถุ 3 มิติ ซึ่งช่วยให้ผู้พัฒนาสามารถสร้างโครงข่าย 3 มิติ (3D Meshes) ได้แบบเรียลไทม์

ประวัติการพัฒนา

ภาษา Lingo ถูกคิดค้นโดย John H. Thompson ที่บริษัท MacroMind ในปี 1989 และเปิดตัวครั้งแรกพร้อมกับ Director เวอร์ชัน 2.2 โดยมีบุคคลสำคัญที่มีส่วนร่วมในการพัฒนาช่วงแรก ได้แก่ Jeff Tanner ผู้พัฒนาและทดสอบ Lingo สำหรับเวอร์ชัน 2.2 และ 3.0 รวมถึงเขียนบทเรียนการใช้งานเบื้องต้น และ Dave Shields ผู้ทดสอบและจัดทำเอกสารสำหรับ Object-based Lingo ในเวอร์ชัน 3.13 และ 4.0

ในช่วงแรก ผู้ใช้งานส่วนใหญ่ (ประมาณ 90%) ใช้คุณสมบัติของ Lingo เพียงส่วนน้อยเพื่อสร้างสื่อการสอนหรือการนำเสนอแบบง่ายๆ แต่ในกลุ่มนักพัฒนาเกม (ประมาณ 10%) ได้นำความสามารถขั้นสูงของ Lingo มาใช้อย่างเต็มที่ รวมถึงการขยายขีดความสามารถของภาษาผ่าน XFactories และ XObjects

คุณสมบัติทางเทคนิค

Lingo ถูกฝังอยู่ใน Adobe Director และสามารถเพิ่มสคริปต์ลงในวัตถุหรือบนไทม์ไลน์ได้ โดยมีลักษณะเด่นดังนี้:

1. ไวยากรณ์แบบบรรยาย (Verbose Syntax)

ในช่วงเริ่มต้น Lingo ถูกออกแบบให้มีไวยากรณ์ที่คล้ายกับภาษาพูดเพื่อให้ผู้เริ่มต้นใช้งานได้ง่าย โดยเลียนแบบลักษณะของ HyperTalk เช่น การใช้คำสั่ง go to frame... ซึ่งคำสั่ง go จะอ้างอิงถึงเฟรมใน Score ของ Director แทนที่จะเป็นบรรทัดของโค้ดเหมือนภาษาโปรแกรมทั่วไป

2. ไวยากรณ์แบบจุด (Dot Syntax)

เพื่อให้สอดคล้องกับมาตรฐานภาษาโปรแกรมสมัยใหม่ เช่น JavaScript หรือ C++ ในเวอร์ชันต่อมา Lingo ได้รองรับไวยากรณ์แบบจุด (Dot Syntax) ซึ่งเป็นส่วนหนึ่งของ Director Object Model ที่นำเข้ามาใน Director MX 2004 ทำให้การเขียนโค้ดมีความกระชับและเป็นระบบมากขึ้น

3. ประเภทของสคริปต์ใน Director

ใน Adobe Director มีสคริปต์ Lingo 4 ประเภทหลัก ตามวัตถุประสงค์การใช้งาน:

  • Castscripts: ทำงานร่วมกับสมาชิกใน Cast เท่านั้น และไม่รองรับเหตุการณ์ (Events) ทั้งหมด
  • Behaviorscripts: เชื่อมโยงกับ Sprite หรือใส่ในเฟรม ใช้สำหรับควบคุมคุณสมบัติและการเคลื่อนที่ของ Sprite หรือสร้างการหน่วงเวลาในเฟรม
  • Moviescripts: ไม่เชื่อมโยงกับ Sprite และสามารถเข้าถึงได้จากทุกส่วนของโปรแกรม เหมาะสำหรับเก็บ Global Handlers และกำหนดค่าตัวแปร Global
  • Parentscripts: ใช้สำหรับสร้างอินสแตนซ์ของวัตถุ (Object) ผ่านคำสั่ง new สามารถควบคุมสื่อต่างๆ ได้จากระยะไกล และเหมาะสำหรับกระบวนการที่ซับซ้อน เช่น การหาเส้นทาง (Pathfinding)

4. การสืบทอดคุณสมบัติ (Inheritance)

Lingo รองรับการสืบทอดคุณสมบัติเชิงวัตถุผ่านระบบ ancestor property ซึ่งช่วยให้สคริปต์หนึ่งสามารถอ้างอิงถึงวัตถุอื่น (เช่น สคริปต์อื่นหรือสมาชิกใน Cast) เพื่อสืบทอดคุณสมบัติและวิธีการ (Methods) มาใช้งานได้

คำถามที่พบบ่อย

ภาษา Lingo คืออะไร?

Lingo คือภาษาโปรแกรมประเภทสคริปต์เชิงวัตถุที่พัฒนาขึ้นเพื่อใช้ในซอฟต์แวร์ Adobe Director สำหรับสร้างสื่อมัลติมีเดียเชิงโต้ตอบ เกม และแอปพลิเคชัน

Lingo แตกต่างจากภาษาโปรแกรมทั่วไปอย่างไร?

Lingo ถูกออกแบบมาให้ทำงานร่วมกับ 'Score' และ 'Cast' ใน Adobe Director โดยมีไวยากรณ์แบบบรรยายที่เลียนแบบภาษาพูดเพื่อให้ผู้เริ่มต้นใช้งานได้ง่าย

Adobe Shockwave เกี่ยวข้องกับ Lingo อย่างไร?

Lingo เป็นภาษาโปรแกรมหลักที่ใช้สร้างเนื้อหาสำหรับแพลตฟอร์ม Adobe Shockwave ซึ่งได้รับความนิยมอย่างมากในการสร้างเกมออนไลน์และสื่อมัลติมีเดียในช่วงทศวรรษ 1990

สคริปต์ประเภท Parent script ใน Lingo คืออะไร?

Parent script คือสคริปต์ที่ใช้สำหรับสร้างอินสแตนซ์ของวัตถุ (Object) เพื่อควบคุมสื่อหรือข้อมูลโดยไม่ต้องเชื่อมโยงกับ Sprite ใด Sprite หนึ่งโดยเฉพาะ