Introduction to AS 3.0 Part II
posted on 08 Jun 2007 18:04 by coreflash in AS3บทความนี้สำหรับ
ผู้เริ่มต้นหรือบุคคลทั่วไป
ผู้ใช้เคยเขียนโปรแกรมมาบ้าง
ผู้ใช้งานระดับผู้พัฒนาโปรแกรม
Introduction to AS 3.0 Part II
ครั้งนี้ขอยังไม่เริ่มเขียนโปรแกรมนะครับ ขออธิบายอะไรเพิ่มเติมอีกหน่อยครับ เพราะเท่าที่ได้ลองอ่านแล้วรู้สึกยังขาดส่วนที่สำคัญๆ ไปครับ ขอเพิ่มเติมรายละเอียดให้ครอบคุลมก่อนครับ
คุณสามารถเขียน AS 3.0 ได้จาก Adobe Flash, Adobe Flex Builder 2, Flex SDK ฯลฯ ซึ่งจริงๆ แล้วคุณสามารถเขียน AS 3.0 ได้จากโปรแกรมพวก Texteditor ได้เลยครับ แต่คุณจะต้องใช้ โปรแกรมข้างต้นที่กล่าวมานั้น Compile ซึ่งจริงๆ แล้วคุณสามารถหาตัว Software ได้ไม่ยาก เรามาเริ่มทำความเข้าใจในหลักการเขียน AS 3.0 กันเลย
ขั้นตอนเบื้องต้นในการเขียน AS 3.0
การเขียนโปรแกรมโดยทั่วไปนั้น จะมีขั้นตอนของการเขียนโปรแกรมแบบง่ายๆ ดังนี้
1.ออกแบบโปรแกรม
2.ลงมือเขียนโปรแกรม
3.Compile โปรแกรมด้วย Flash, Flex Builder 2 หรือ Flex SDK ฯลฯ
4.ทดสอบโปรแกรมและนำไปใช้งาน
จากลำดับขั้นตอนทั้งหมดที่กล่าวมาข้างต้นมันไม่สำคัญเลย คุณสามารถสลับลำดับได้ตามความเหมาะสม แต่โดยคราวๆ แล้วก็จะมีขั้นตอนประมาณนี้ในการเขียนโปรแกรม
เขียนโค้ดของคุณได้ที่ไหนบ้าง
คุณสามารถเขียน AS 3.0 ได้ทุกที่ก็จริง แต่การเขียนโค้ดนั้นๆ ก็ต้องดูความเหมาะสมเป็นหลัก และ ก็ขึ้นอยู่กับเครื่องมือ (Flash หรือ Flex หรือ ฯลฯ) ที่คุณใช้ในการเขียนโค้ดของคุณด้วย ซึ่งเครื่องมือแต่ล่ะอันนั้นจะมีลักษณะของการเขียนโค้ดไม่เหมือนกันเรามาดูกันว่ามีอะไรบ้าง
เขียนโค้ดลงบน Frame ใน Timeline ของ Flash
การเขียนโค้ดในโปรแกรม Flash นั้นคุณสามารถลงโค้ดของคุณบน Frame ใน Timeline ได้ ซึ่งโค้ดนั้นจะถูกประมวลผลเมื่อ Playback Head วิ่งมา ณ Frame นั้นๆ รวมไป ถึงการลงโค้ดบน Frame ใน Timeline ของ MovieClip Symbol ด้วย การลงโค้ดในลักษณะนี้ถือว่าง่าย และ รวดเร็วที่สุดก็จริง แต่ ถ้าหากคุณกำลังพัฒนา Application ขนาดใหญ่ หรือ โปรแจกระดับชาติ การทำเช่นนี้อาจเป็นการฆ่าคุณได้ หากคุณต้องทำการปรับปรุงหรือแก้ไขการทำงานของ Application นั้นอยู่เสมอ เชื่อหรือไม่ว่าการแก้ไขโค้ดเพียงเล็กน้อยของคุณแต่กลับใช้เวลาในการจัดการมากกว่าการเขียนโค้ดลงไปใหม่เลยก็เป็นไปได้ แต่ทางเลือกที่คุณใช้ทั้ง 2 ทางนั้น (1.หาโค้ดบรรทัดที่ต้องการแก้ไขให้เจอ 2.เขียนโค้ดใหม่ โดยการสร้างตัวจัดการการทำงานนั้นๆ ขึ้นมาใหม่แทนตัวเดิมไปเลย) กลับทำให้การแก้ไขโค้ดในภายหลังยิ่งดูเป็นเรื่องยากขึ้นไปอีก เมื่อมีการขยายต่อการทำงานจากเดิม (คงพอนึกออกนะครับสำหรับคุณๆ ที่ชอบเขียนโค้ดแบบขอไปที เวลาไปแก้โค้ดแล้วจำไม่ได้ว่าตัวแปร หรือ ฟังค์ชั่นนี้ใช้ที่ไหนบ้าง เจอเข้าบ่อยนี้ถึงกับเบื่อการเขียนโค้ดไปพักหนึ่งเลยครับ)
เมื่อเจอเหตุการณ์ในลักษณะนี้เข้าทางผู้พัฒนา Application ด้วย Flash ก็แก้ปัญหานี้ด้วยการเขียนโค้ดลงบน Frame แรก แล้วทำการแยกเป็น Layer ที่เอาไว้จัดการ การเขียนโค้ดโดยเฉพาะ ซึ่งวิธีนี้ทำให้การแก้ไขปัญหาต่างๆ แลดูจะง่ายขึ้นในระดับหนึ่ง แต่เมื่อไรก็ตาม ที่คุณพัฒนา Flash Application ด้วยไฟล์หลายๆ ไฟล์มาประกอบกันเข้าล่ะก็ คุณก็ต้องทำการ Copy แล้วก็ Paste โค้ดเอา หากการทำงานนั้นมันเหมือนๆ กัน แต่เมื่อไรก็ตามที่ต้องแก้ไขการทำงานอย่างหนึ่งอย่างใดใหม่ คุณก็ต้องไปทำการ Copy แล้วก็ Paste ลงไปทุกไฟล์ (แค่คิดยังไม่ได้ทำก็เหนื่อยแล้วครับ) ซึ่งมันก็ยังไม่เป็นวิธีที่ดีที่สุด
วิธีการที่ดีที่สุดนั่นก็คือ การเขียน AS ไฟล์เอาไว้ข้างนอก (External ActionScript Files : Text file with the .as extension) แล้วทำการimport เข้าไป ซึ่งวิธีนี้ถือว่าเป็นวิธีที่ดีที่สุด ในการที่จะพัฒนา Application ด้วย Flash
ฝังโค้ดใน MXML File ของ Flex Builder 2
การเขียนโค้ดในโปรแกรม Flex นั้นคุณสามารถเขียนโค้ดลงใน Tag <mx:Script> ใน MXML File ของ Flex เหมือนการเขียนโค้ดลงบน Frame ใน Timeline ของ Flash นั่นล่ะ
เขียนโค้ดลงใน External ActionScript File
ถ้าโปรแจกของคุณมีการใช้ External ActionScript File ในการเขียนโค้ดแล้วล่ะก็ การเขียนโค้ดแบบนี้ถือว่าเป็นทางเลือดที่ดีที่สุดก็จริง แต่คุณก็สามารถทำการสร้าง External ActionScript File ได้ 2 แบบ มันขึ้นอยู่กับคุณ ว่าคุณต้องการที่จะสร้าง External ActionScript File แบบไหน
แบบที่ 1 Unstructured ActionScript code: เขียนคำสั่งเป็นบรรทัดต่อบรรทัด หรือ สร้างฟังค์ชั่นเอาไว้เพื่อเรียกใช้งาน ซึ่งเหมือนกับการเขียนโค้ดลงบน Timeline หรือ ใน MXML File ใน Tag <mx:Script> ถ้าเขียนใน Tag <mx:Script> ของ Flex MXML จะเขียนได้แบบนี้ <mx:Script source="Box.as" />
แบบที่ 2 ActionScript Class: เขียน External ActionScript File ในลักษณะของ Class File โดยรวมเอา Property, Method และ Event เอาไว้ หากคุณใช้วิธีการนี้ในการสร้าง External ActionScript File คุณต้องทำการสร้าง instance ของ class นั้น ๆ ก่อน ซึ่งจริงๆ คุณสามารถทำได้ 2 แบบ ด้วยกันดังนี้
2.1 Class ที่ทำการเรียกใช้ถูกจัดเก็บในลักษณะของ Package ที่มีการ Build-In เอาไว้ คุณสามารถใช้คำสั่ง import เพื่อทำการเรียกใช้ Class นั้นๆ ได้ดังนี้
ตัวอย่างการเขียนโค้ด
import flash.display.MovieClip; // Import มาเฉพาะ Class MovieClip;หากคุณต้องการ Class ทั้งหมดภายใน Package นั้นคุณสามารถเขียนโค้ดได้ดังนี้
ตัวอย่างการเขียนโค้ด
import flash.display.*; // Import Class ทั้งหมดภายใน Package flash.display มาใช้;2.2 เขียนโค้ดในลักษณะการอ้างถึง Class ที่ทำการสร้างขึ้นเอง ให้ทำการสร้าง Class file นั้นเอาไว้ที่เดียวกับไฟล์ที่เราจะทำการเรียกใช้ Class เช่น ถ้าเป็น Flashให้เอาไฟล์ *.fla กับ Box.as ไว้ที่เดียวกัน หากเป็น MXML ของ Flex ก็ให้เอาไฟล์ Box.as ไปไว้ที่เดียวกับ File *.mxml
ตัวอย่างการเขียนโค้ด
var smallBox:Box = new Box(10,20);
บทต่อไปเริ่มเขียนโปรแกรมแรกกันเลยครับ
