7 Movie Clip      
4 เรื่อง/ภาพ เว็บมาสเตอร์   

      Movie clip เปรียบเสมือนไฟล์ .swf อีกตัวหนึ่ง เพียงแต่ว่าเราสามารถควบคุมได้ Movie clip นี้ค่อนข้างจะเข้าใจยากเหมือนกัน ตรงที่การควบคุม Movie clip ให้ได้ดั่งใจ แต่ความจริงแล้วมันไม่ได้ยากอย่างที่คิดเลยถ้าคุณได้อ่านบทความ การเขียนสคริปใน Flash4 มาแล้ว คำสั่งพื้นฐานของการควบคุม Movie clip ก็คือคำสั่ง Tell target ซึ่งเป็นคำสั่งที่เอาไว้สั่ง Movie clip โดยเฉพาะ

  การสร้าง Movie clip นั้น ให้คุณวาดรูปหรืออะไรก็ได้แล้วใช้เครื่องมือ Arrow ทำการ Select วัตถุเหล่านั้น หลังจากนั้นกด F8 เพื่อทำรูปให้เป็น Symbol จะมีหน้าต่าง Symbol Properties ขึ้นมา ในช่อง Name ให้ใส่ชื่อเป็นอะไรก็ได้ ส่วนช่อง Behavior ให้กำหนดเป็น Movie clip เสร็จแล้วกด OK แต่ถ้าคุณไม่อยากใช้วิธีนี้ในการสร้าง คุณสามารถกด Ctrl+F8 เพื่อสร้าง Symbol ตัวใหม่โดยไม่ต้องเลือกวัตถุก่อน แล้วกำหนดค่าต่างๆเหมือนเดิม

  Movie clip ที่เราจะสามารถสั่งให้ทำงาน(โดยสคริป) ได้นั้น เราจำเป็นที่จะต้องใส่ชื่อให้มันซะก่อน ซึ่งชื่อนี้จะไม่เกี่ยวกับชื่อที่เราใส่ตอนสร้าง Movie clip นะครับ ผมขอแนะนำว่าเมื่อใดก็ตามที่คุณใช้ Symbol แบบ Movie clip คุณจำเป็นที่จะต้องใส่ชื่อให้มันก่อน ทั้งนี้เพื่อความสะดวกในการใช้งาน การใส่ชื่อให้ Movie clip นั้นทำได้โดย ดับเบิ้ลคลิ๊กที่ Movie clip (ที่อยู่ในพื้นที่ทำงาน) แล้วจะมีหน้าต่าง Instance Properties ขึ้นมา ที่ด้านล่างๆของหน้าต่าง จะมีช่อง Instance name ในช่องนั้นให้ใส่ชื่อลงไปเลยครับ เสร็จแล้วกด OK

  สำหรับการสั่งงาน Movie clip ก็ไม่ยาก เพียงคุณเปิดแท็ป Action จากหน้าต่าง Frame Properties หรือ Instance Properties (อันนี้เฉพาะ Button เท่านั้น)ก็ได้แล้วก็คลิ๊กที่ปุ่มบวก เลือกคำสั่ง Tell target ที่คำสั่ง Tell target ในช่อง Target ให้คุณใส่ชื่อ Movie clip ที่คุณต้องการจะสั่งงานหรือจะเลือกจากช่องข้างบนก็ได้ ซึ่งถ้าคุณใส่ Instance name ให้มันแล้วจะมีชื่อขึ้นอยู่ที่ช่องนี้ครับ และหลังจากที่คุณใส่ชื่อเรียบร้อยแล้ว ให้คุณเลือกคำสั่งใดๆก็ได้จากปุ่มบวก ซึ่งคำสั่งที่อยู่ในนี้จะเป็นคำสั่งที่เอาไว้สั่ง Movie clip โดยเฉพาะ จะไม่เกี่ยวกับและไม่มีผลต่อ Scene ปัจจุบันหรือ Movie clip ตัวอื่นเลย สมมุติว่าคุณต้องการสั่งให้ Movie clip มีค่า Alpha เป็น 50% คุณก็เพียงใส่คำสั่ง Set Property ("/movieclip", Alpha) = "50" เข้าไปเท่านั้นเอง คำสั่งที่เราใช้ควบคุม Movie clip บ่อยๆก็เช่น Goto, Set properties, Play, Stop เป็นต้น
1
  คำสั่ง Set properties นั้น เป็นคำสั่งที่มีไว้ปรับ/เปลี่ยนคุณสมบัติต่างๆของ Movie clip เช่น ค่าความโปร่งใส(Alpha), ตำแหน่งในแกน X,Y และขนาดของ Movie clip เป็นต้น ในช่อง Target (ที่บรรทัดคำสั่ง Set properties) ให้คุณใส่ชื่อ Movie clip ที่คุณต้องการปรับแต่งลงไป หรือจะคลิ๊กที่ปุ่มที่อยู่ข้างๆช่อง Target แล้วเลือก Target Editor เพื่อเลือก Movie clip ก็ได้(แต่มีข้อแม้ว่าคุณต้องกำหนดชื่อหรือ Instance Name ให้กับ Movie clip ด้วย จึงจะมี Movie clip ตัวนั้นมาให้คุณเลือก)

  คราวนี้มาถึงส่วนสำคัญที่สุดของ Movie clip ก็คือการระบุพาธ(Path) ของ Movie clip ที่เราต้องการจะควบคุมหรือสั่งงาน รูปแบบคำสั่งจะเป็น /ชื่อมูฟวี่คลิป เราจะใช้ / ในการอ้างอิงถึง Path ที่อยู่นอกสุด(อยู่ที่ Scene1) แล้วก็ตามด้วยชื่อของ Movie clip ครับ ในกรณีที่คุณต้องการสั่งงาน Movie clip ที่ชื่อ sub ที่อยู่ใน Movie clip ที่ชื่อ main อีกที คำสั่งจะเป็น /main/sub ครับ



ตัวอย่าง Movie clip


  ส่วนในเรื่องการอ้างอิงตัวแปรจาก Movie clip นั้นก็คล้ายๆกัน รูปแบบคำสั่งก็จะเป็น /ชื่อมูฟวี่คลิป:ชื่อตัวแปร ทำให้เราไม่ต้องวุ่นวายเกี่ยวกับตัวแปรมากนัก เช่นในกรณีที่เราต้องการโหลดหรืออ้างอิงค่าของตัวแปรที่ชื่อ set ใน Movie clip ที่ชื่อ main คำสั่งก็จะเป็น /main:set ครับ หรือในกรณีที่คุณต้องการโหลดหรืออ้างอิงตัวแปรที่ชื่อ a จาก Scene1 (อยู่พาธนอกสุด)ในขณะที่คำสั่งนี้อยู่ใน Movie clip คำสั่งจะเป็น /:a โดยไม่ต้องใส่ชื่อ Movie clip ลงไปครับ จะเห็นว่าคำสั่งพวกนี้จะถูกใช้ในบทความ Flash Counter ในเรื่องการอ้างอิงค่า ทำให้เราสามารถลดคำสั่งต่างๆและตัวแปรลงได้มาก สำหรับพาธที่อ้างถึง Movie clip นี้คุณสามารถใส่ลงไปได้เลยในช่อง Target ถึงแม้ว่าจะไม่มีชื่อของ Movie clip ตัวที่เราต้องการก็ตาม ขอแค่มี Movie clip ตัวที่ระบุในพาธอยู่จริงก็พอ

  ถ้าคุณผู้อ่านท่านใดยังใช้ Movie clip ไม่เป็นละก็ น่าจะลองศึกษา/เล่น Movie clip ดูบ้างนะครับ เพราะว่า คนที่ทำ Flash แบบมืออาชีพเนี่ย ส่วนใหญ่แล้วเขาจะใช้ Movie clip ในการแสดงอนิเมชั่นทั้งหลาย เพราะว่าเขาควบคุมมันได้ ทำให้ง่ายต่อการใช้งาน การสังเกตุว่าอนิเมชั่นที่เราเห็นนั้นเป็น Movie clip หรือไม่นั้นทำได้ไม่ยากครับ เพียงแค่คุณเปิด Flash ที่คุณสงสัยขึ้นมา(ต้องเปิดแบบ Stand Aloneหรือเปิดบนเบราเซอร์ ไม่ใช่ใช้วิธี Import เข้ามานะครับ) แล้วคลิ๊กขวาที่พื้นที่แสดงผลนั้น จะมีเมนูขึ้นมา ให้สังเกตุว่าที่เมนู Play นั้นมีเครื่องหมายถูกอยู่หรือไม่ ถ้ามีก็ให้เอาออกซะ(ประมาณว่าเราสั่งให้มันหยุดเล่น) หลังจากที่คุณสั่งหยุดแล้ว ถ้ายังมีอนิเมชั่นแสดงอยู่(พวกวัตถุเคลื่อนไหว อะไรประมาณนั้น) แสดงว่าเขาใช้ Movie clip แต่ถ้าทุกอย่างหยุดหมด นั่นแหละ เขาไม่ได้ใช้ Movie clip ครับ

ตบท้ายด้วย Scene
  Scene ก็คล้ายๆกับเว็บเพจหนึ่งหน้า ซึ่งเราสามารถทำให้มีกี่หน้าก็ได้ แล้วในแต่ละหน้าเราจะกำหนดให้มีข้อมูลอย่างไรก็ได้ สำหรับการจัดการ Scene ให้ง่ายที่สุดก็คือคุณต้องไปที่เมนู Windows->Inspectors->Object หรือจะกด Ctrl+Alt+i ก็ได้ เพื่อเปิดหน้าต่าง Object ขึ้นมา ภายในหน้าต่าง Object จะมีแท็ปอยู่หลายแท็ปด้วยกัน ในตอนนี้เราจะให้ความสำคัญกับแท็ป Scene ในกรณีที่คุณมี Scene อยู่หลาย Scene และต้องการปรับเปลี่ยนลำดับการแสดงผลคุณก็เพียงใช้วิธีลากแล้วปล่อยจากบนลงล่าง หรือ ล่างขึ้นบนเท่านั้นเองครับ การที่จะเปลี่ยน Scene แสดงผลนั้นทำได้โดยใช้คำสั่ง Goto ครับ หลังจากที่คุณเลือกคำสั่ง Goto แล้ว ภายในคำสั่ง Goto ที่ช่อง Scene จะมีตัวเลือกหลายตัวเลือกด้วยกันคือ

- Current Scene เป็น Scene ปัจจุบันที่แสดงผลอยู่
- Next Scene เป็น Scene ถัดไป
- Previous Scene เป็น Scene ก่อนหน้านี้
- รายชื่อ Scene ทั้งหมดที่คุณมี

      ข้อควรจำก็คือถ้า Scene ปัจจุบันแสดงผลเสร็จ (หมายถึงเมื่อเล่นไปจนถึงเฟรมสุดท้ายแล้วไม่มีสคริปสั่งไปยังเฟรมอื่นๆ) Flash ก็จะแสดงผล Scene ถัดไปโดยอัตโนมัติ ซึ่งหลายคนสงสัยมากในเรื่องนี้ ประมาณว่า "อาราย(วะ) ไม่ได้สั่ง Goto ซะหน่อย ทำไมไปเล่น Scene ต่อไปเฉยเลย" แล้วก็นั่งหากันเป็นชั่วโมงเลยครับ (ผมก็เคยนั่งหาอยู่เหมือนกัน ฮา) วิธีแก้ไม่ให้ Flash นั้นเล่น Scene ต่อไปโดยอัตโนมัติก็เพียงคุณใส่คำสั่ง Stop หรือคำสั่ง Goto ให้วนลูปไปยังเฟรมที่ 1 เพื่อแสดงผลใหม่ก็ได้ครับ เรื่องของ Scene นั้นไม่มีอะไรมาก เข้าใจได้ง่าย หากผู้ใดติดขัดเรื่องใดที่เกี่ยวกับ Scene ให้เมล์มาบอกครับ ผมจะได้นำปัญหานั้นมาใส่ในบทความนี้เพิ่มเติมครับ