| |
 |
 |
 |
อยากเก่ง
Flash ต้องทำอย่างไร
Date : 15:03:03 | By
: vectorwork
เมื่อก่อนเราอาจจะมองว่า Flash เป็นเพียงไฟล์กราฟิกธรรมดาตัวหนึ่ง
ที่สามารถควบคุมการแสดงผลของภาพเคลื่อนไหวได้
แต่ในขณะนี้ Flash ไม่ใช่เพียงไฟล์กราฟิกธรรมดาแล้ว
Flash ได้รับการพัฒนาให้มีความสามารถมากขึ้น ดังนั้นชุดคำสั่ง
แอคชันสคริปต์ก็ต้องซับซ้อนขึ้นตามไปด้วย การเขียนแอคชันสคริปต์จึงเหมือนกับการเขียนโปรแกรมภาษาหนึ่งเลยทีเดียว
จะว่าไปแล้วการเรียนรู้ Flash ไม่ได้มีเพียงการเรียนรู้เพื่อเขียนแอคชันสคริปต์อย่างเดียวเท่านั้น
ยังต้องมีการเรียนรู้
เรื่องของการสร้างภาพเคลื่อนไหวเข้ามาอีกด้วย ฉะนั้นก็ต้องขึ้นอยู่กับแต่ละคนว่าต้องการเลือกที่จะศึกษาแบบเจาะลึกไป
ในด้านไหน
แล้วจะเริ่มอย่างไรดี?
อันแรกในการเริ่มศึกษา Flash ก็ต้องเริ่มหัดใช้โปรแกรม
Flash ให้คล่อง ศึกษาให้รู้ว่าแต่ละเมนูมีคำสั่งอะไร
ที่น่าจะ
เอื้อประโยชน์ในระหว่างการทำงานได้บ้าง เช่นคำสั่ง
Trace Bitmap ที่อยู่ในเมนู Modify เป็นคำสั่งที่ไว้สำหรับแปลงภาพ
ราสเตอร์ (บิตแมป) ให้เป็นเว็กเตอร์ ถ้าเราไม่รู้จักคำสั่งนี้
เราอาจจะต้องไปเสียเวลาดราฟให้เป็นภาพเว็กเตอร์ก็ได้
นอกจากนั้นยังต้องรู้จักเครื่องมือและพาเนลต่างๆ ที่มีอยู่ใน
Flash ว่าเครื่องมือแต่ละตัวหรือพาเนลแต่ละอันมีความสามารถ
อะไรบ้าง และใช้งานได้อย่างไร เวลาในการศึกษาตรงจุดนี้
คาดว่าไม่น่าใช้เวลาเกิน 2 อาทิตย์ (หรือ 5 วันสำหรับพวกว่างงาน)
ซึ่งในระหว่างที่หัดใช้โปรแกรมอยู่นั้น ควรจะหางานง่ายๆ
มาลองทำเช่น วาดรูปพื้นๆ หรือลองวาดภาพตามแบบไปด้วย
มันจะ
ช่วยให้เราสามารถศึกษาการใช้งานได้เร็วขึ้น (ดีกว่าที่จะมานั่งวาดรูปสามเหลี่ยมหรือสี่เหลี่ยมเล่น)
เมื่อเริ่มใช้โปรแกรมคล่องแล้ว ต่อไป ก็เริ่มหัดใช้งานพาเนล
Timeline ให้คล่องมากขึ้น (เพราะเราต้องอาศัยพาเนล|
Timeline ช่วยในการทำงานตลอดเวลา) โดยจะต้องศึกษาเรื่องของเลเยอร์ว่า
เลเยอร์มีทั้งหมดกี่ชนิด, จะใช้งานได้อย่างไร
และแต่ละชนิดเอาไปทำอะไรเล่นได้บ้าง ข้อหลังนี่สำคัญมากเลยนะครับ
รู้ว่าใช้ยังไง แต่เอาไปประยุกต์ใช้ไม่เป็น รู้ไปก็เท่านั้น
นอกเหนือจากเรื่องเลเยอร์ ก็ควรที่จะศึกษาเรื่องของเฟรมให้ดี
ไม่ว่าจะเป็นเรื่องของชนิดของเฟรม(Frame กับ KeyFrame
ต่างกันอย่างไร แยกให้ออกด้วย), ความสัมพันธ์ของเฟรมแต่ละชนิด,
การแสดงผลในแต่ละเฟรม, อัตราการแสดงผลของเฟรม
(FrameRate) และรวมไปถึงเรื่อง Scene ด้วย
อย่าลืมศึกษาเรื่องการสร้างภาพเคลื่อนไหวด้วย ว่าสามารถสร้างได้กี่วิธี
แต่ละวิธีมีข้อดี-ข้อเสีย และมีวิธีการสร้างอย่างไร
ถึงแม้ว่าคุณอาจจะอยากเป็น Flash Programmer ก็ต้องศึกษาการสร้างภาพเคลื่อนไหวไว้ด้วย
เพราะในบางทีการสร้าง
ภาพเคลื่อนไหวเล็กๆ น้อยๆ อาจจะช่วยเพิ่มความสมบูรณ์ของแอคชันสคริปต์ได้
แถมในบางครั้ง อาจจะช่วยลดความยาก
ในการเขียนแอคชันสคริปต์อีกด้วย(ประมาณว่าทำภาพเคลื่อนไหวเอาไว้เบิกเนตร
- อิอิ)
เหลืออีกตัวหนึ่งที่ต้องศึกษาเหมือนกัน นั่นก็คือ
ซิมโบล(Symbol) ซิมโบลนี่สำคัญมากในการสร้าง Flash
เพราะมันจะช่วย
ให้เราสามารถนำวัตถุมาใช้ซ้ำเยอะๆ โดยที่ขนาดไฟล์ไม่เพิ่มขึ้น(อยากรู้ว่าทำไม
ให้ไปหาอ่านใน Help เอาเอง - มีชัวร์)
พยายามศึกษาเรื่องราวของซิมโบลให้เยอะๆ ประมาณว่าซิมโบลมีกี่ชนิด
แต่ละชนิดทำอะไรได้บ้าง มีข้อดีหรือข้อจำกัดอะไรบ้าง
และที่สำคัญ จะต้องรู้ว่าควรจะใช้ ซิมโบลชนิดอะไรในกรณีไหนด้วย
สิ่งที่ผมได้แนะนำให้ศึกษาไปแล้วนั้น เป็นเพียงการปู
พื้นฐานเท่านั้น ซึ่งเป็นสิ่งที่ทั้ง Flash Animator
และ Flash Programmer ต้องรู้ด้วย ต่อไปใครอยากจะศึกษาเจาะลึกไป
ทางด้านไหน ก็เลือกกันเอาเอง
แล้วถ้าอยากเป็น Flash
Programmer ล่ะ?
เรื่องนี้ถ้าจะให้พูดให้หมด สงสัยต้องพูดกันยาวครับ
เพราะว่าเรื่องของการเขียนโปรแกรมนี่เป็นอะไรที่เยอะมาก
การศึกษา
การเขียนแอคชันสคริปต์เบื้องต้นนั้น ควรอย่างยิ่งที่จะเริ่มที่คำสั่งง่ายๆ
ก่อน อย่างพวกคำสั่งสำหรับควบคุมการเล่นของภาพ
เคลื่อนไหวใน Flash เช่น gotoAndPlay, gotoAndStop,
Play, Stop เป็นต้น (ศึกษาดูว่าแอคชันสคริปต์ที่อยู่ในคีย์
เฟรมนั้น จะทำงานได้เมื่อไรด้วย) เมื่อเราสามารถใช้แอคชันสคริปต์มาควบคุมการเล่นภาพเคลื่อนไหวได้คล่องแล้ว
ต่อไปก็เริ่มศึกษาถึงเรื่องของตัวแปร(อย่าลืมเรื่องขอบเขตของตัวแปรด้วย),
คำสั่งเงื่อนไข และคำสั่งวนลูปต่างๆ เพื่อใช้ใน
การควบคุมการเล่นหรือหยุดเล่นภาพเคลื่อนไหวภายในเงื่อนไขที่กำหนด
ซึ่งในเรื่องของตัวแปร คำสั่งเงื่อนไข และคำสั่งลูป
นั้น จะคล้ายๆ กับการเขียนโปรแกรมภาษาอื่น ฉะนั้น
ถ้าหากคุณเคยเขียนโปรแกรมมาบ้างแล้ว ผมคิดว่าคงใช้เวลาในการ
ศึกษาตรงจุดนี้ไม่นานนัก
ขั้นต่อไป ก็จะมาเริ่มศึกษาถึงการทำงานร่วมกับอินสแตนซ์ภายใน
Flash ซึ่งแน่นอนว่าเราจะต้องศึกษาถึงการระบุ
ตำแหน่งพาธของอินสแตนซ์ด้วย(สำคัญมาก) เพราะในการทำงานร่วมกับอินสแตนซ์
จำเป็นต้องมีการระบุพาธไปยัง อินสแตนซ์นั้นๆ ด้วย
ถ้าหากระบุพาธผิด ก็จะไม่สามารถทำงานร่วมกับอินสแตนซ์นั้นได้
หลังจากนั้นก็ให้เริ่มหัดใช้คำสั่งควบคุมภาพเคลื่อนไหวที่อยู่ภายในอินสแตนซ์ในรูปแบบต่างๆ
เช่น ควบคุมภาพเคลื่อนไหว
ภายในอินสแตนซ์ที่ซ้อนอยู่ในอินสแตนซ์อีกที หรืออินสแตนซ์ที่ซ้อนกันหลายๆ
ชั้น เป็นต้น
ยังมีอีก 2 เรื่องที่คุณควรทำความเข้าใจด้วย นั่นก็คือเรื่องของพรอพเพอตี้(Property)
และอีเว็นต์ (Event) เพราะในการ
เขียน แอคชันสคริปต์นั้น ส่วนใหญ่แล้วจะต้องมีการใช้งานพรอพเพอตี้อยู่ตลอด
ไม่ว่าจะเป็น _x, _y, _width, _height
หรือ _visible เป็นต้น ซึ่งพรอพเพอตี้นี้ก็คือคุณสมบัติของอินสแตนซ์นั่นเอง
แล้วแต่ว่าเราต้องการใช้งานหรือกำหนดค่าคุณสมบัติอะไรให้กับอินสแตนซ์บ้าง
ส่วนในเรื่องของอีเว็นต์ ก็เป็นตัวที่สำคัญมากๆ
ขอให้พยายามทำความเข้าใจให้ดี เพราะเป็นตัวที่จะช่วยเพิ่มความสามารถของแอคชันสคริปต์ได้เป็นอย่างมาก
การใช้งานอีเว็นต์ก็เหมือนเป็นการกำหนดให้แอคชันสคริปต์
ชุดใดชุดหนึ่งทำงานเมื่อเกิดเหตุการณ์บางอย่างขึ้น
เช่น on
(rollOver){ } ก็เป็นการกำหนดให้แอคชันสคริปต์ภายในเครื่องหมาย
{ } ทำงานเมื่อผู้ใช้นำเมาส์มาวางไว้บนวัตถุที่เรา
กำหนดไว้ เป็นต้น ซึ่งเมื่อถึงตรงนี้แล้ว ความรู้ที่คุณมีอยู่ก็เพียงพอสำหรับการศึกษา
Flash ในขั้นต่อๆ ไปได้เองแล้ว
เอ้อ..ลืมไปอีกเรื่อง สำคัญมากซะด้วยสิ อย่าลืมศึกษาเรื่องโฟล์วชาร์ตด้วยนะครับ
เพราะมันเป็นองค์ประกอบสำคัญของการ
เขียนโปรแกรม โฟล์วชาร์ตมันก็เหมือนกับโครงร่างของโปรแกรม
ถ้าโครงร่างไม่ดี โปรแกรมก็คงจะดีด้วยไม่ได้ และถ้า
โปรแกรมยิ่งใหญ่หรือซับซ้อน โฟล์วชาร์ตยิ่งสำคัญ เพราะมันจะเป็นเหมือนแผนที่ของโปรแกรมของคุณ
หากเกิด Error
ในโปรแกรม ก็สามารถมาไล่ดูการทำงานของโปรแกรมในโฟล์วชาร์ตได้อย่างรวดเร็ว(โฟล์วชาร์ตอ่านง่ายกว่าโค้ดนะ)
แล้วก็อย่าทำตัวเป็นพวก "No Comment เน้น Command"
นะ พยายามใส่ข้อความ Comment ไว้บ้างว่าบรรทัดนี้ทำอะไร
เป็นยังไง(เวลาทำเป็น swf มันก็ตัด Comment ทิ้งให้
ไม่ต้องกลัวว่าจะทำให้ไฟล์มันใหญ่ขึ้น) เพราะเวลาที่เกิด
Error ขึ้น
ในโปรแกรม Comment เป็นอีกสิ่งหนึ่งที่จะช่วยให้คุณไล่โค้ดได้ง่ายขึ้น
แถมเวลาที่คุณนำโค้ดนี้กลับมาพัฒนาต่ออีกครั้ง
คุณก็สามารถทำความเข้าใจโค้ดได้ทันที จาก Comment
ที่เขียนไว้
เทคนิคในการศึกษา(ใช้ได้กับทุกอย่างที่อยากศึกษา)
อันนี้ต้องบอกไว้ก่อนนะครับว่า นี่เป็นเพียงเทคนิคส่วนตัวที่ผมใช้มาตลอด
ตั้งแต่เล่นคอมพิวเตอร์มา อาจจะไม่ได้ผล
สำหรับบางคน เพราะเหตุปัจจัยของแต่ละคนต่างกัน รวมไปถึงความสามารถในการเรียนรู้ของแต่ละคนด้วย
บางคนอาจจะ
เรียนรู้ได้ดีเมื่อมีสอนมาสอนแบบตัวต่อตัว หรือบางคนอาจจะเรียนรู้ได้ดีหากได้เรียนรู้ด้วยตัวเอง
(ตามแบบที่ตนถนัด)
1.เริ่มแรก หาข้อมูลคร่าวๆ ซักหน่อยว่าไอ้ที่เราอยากเรียนน่ะ
มันเป็นยังไง มันทำอะไรได้บ้าง แล้วเราน่าจะเรียนเจาะลึก
ไปทางด้านไหน
2.หาหนังสือภาษาไทยมาเป็นตัวนำทางในการศึกษาสิ่งนั้นก่อนซักเล่มนึง
(ใครอ่าน Text คล่องก็หา Text มาอ่านเลย)
3.ในระหว่างนั้น พยายามหาโปรเจ็กมาทำให้เยอะๆ เช่น
ถ้าศึกษา Flash ทางด้านแอคชันสคริปต์ ก็พยายามหาหัวข้อมานั่ง
เขียนสคริปต์บ่อยๆ อาทิตย์นี้นั่งทำชุดปุ่มควบคุมภาพเคลื่อนไหว
อาทิตย์หน้าก็ทำ Preloader อะไรประมาณนี้ หรือถ้ากำลัง
ศึกษาเรื่องการสร้างภาพเคลื่อนไหว ก็ลองดูตัวอย่างการสร้างภาพเคลื่อนไหวจากเว็บ
Flash เจ๋งๆ แล้วลองเอามาทำตามดูก็ได้
4.เข้าเว็บบอร์ดที่เกี่ยวกับเรื่องนั้น แล้วพยายามเก็บเกี่ยวความรู้ไปเรื่อยๆ
รวมทั้งพยายามทำตัวให้เป็น "ผู้ตอบ" มากกว่า
"ผู้ถาม" ถ้ามีใครถามในสิ่งที่เราไม่รู้ ก็ลองๆ ไปหาคำตอบดูบ้าง
มันจะได้รู้กันทั้งสองคน (แต่คำตอบต้องชัวร์หน่อยนะ)
5.ถ้ามีข้อสงสัย ให้ค้นหาความรู้หรือนั่งวิเคราะห์ด้วยตัวเองก่อน
อาจจะไปค้นหาคำถามที่มีคนเคยถามตามเว็บบอร์ด หรือ
Search Engine ก็ได้ อย่านิสัยเสีย ไม่ใช่ว่าสงสัยอะไรหน่อยก็ไปโพสถามตามเว็บบอร์ด
แล้วก็นั่งรอคำตอบ อย่างนี้ไม่ได้
อะไรหรอกครับ ยกเว้นว่าสุดๆ แล้ว ประมาณว่าค้นหาไม่เจอเลย
หรือเจอแล้วมันไม่ชัวร์ อันนี้ถึงค่อยโพสถาม (ลองสังเกตพวก
ที่เก่งๆ ดูสิครับ ไม่ค่อยโพสถามหรอก แต่ถ้ามาโพสถามทีไร
ก็มักจะเป็นคำถามที่เล่นเอาปวดหัวไปหลายยกเลยทีเดียว)
6.อ่าน Help ซะบ้าง ไม่มีใครรู้ดีไปกว่าคนผลิตหรอก
ถึงแม้จะอ่านไม่รู้เรื่อง ก็เปิดแล้วค่อยๆ อ่านไปเรื่อยๆ
เอาก็ได้ ให้ใช้
วิธีอ่านจับใจความเอา ไม่ต้องถึงขนาดเปิดศัพท์แปลทีละตัวหรอก
(แต่ Help ของ ActionScript ใน Flash โ_ตรกั้กเลย
บอกก็ไม่หมด - ยังมีคำสั่งเจ๋งๆ เหลืออีกเพียบเลย)
7.รู้เรื่องมากแล้วจะลองเจียดเงินค่าสุราเมรัย มาซื้อ
Text อ่านบ้างก็คงไม่เสียหายอะไร แต่ก่อนซื้อ ให้ถามๆ
คนที่เคยซื้อมา
แล้วด้วยนะว่าเล่มไหนดี เล่มไหนไม่ดี จะได้ไม่ต้องมานั่งเสียดายตังค์ทีหลัง
จะเห็นว่าวิธีของผมนั้น จะเน้นหนักไปทางศึกษาด้วยตัวเองซะมากกว่า
จะไม่ไปเรียนคอร์สไหนทั้งนั้น ไม่ใช่ว่าเรียนตามคอร์ส
นั้นไม่ดีนะครับ แต่ผมว่ามันไม่ค่อยเหมาะกับผมมากกว่า
ถ้าไปเรียน ความรู้ทุกอย่างจะถูกยัดเข้ามาในหัวสมองเรื่อยๆ
ถ้าเกิดเราไปสะดุดตรงไหน มันก็จะเริ่มเกิดความไม่เข้าใจสั่งสมในสมองขึ้นเรื่อยๆ
ถ้าคนหัวไวมันก็ไม่เท่าไหร่หรอกครับ
แต่ถ้าคนหัวช้านี่สิ(แต่ว่าไปเรียนนี่ก็ดีเหมือนกัน
มันจะเรียนรู้ได้เร็ว เพราะมีคนบอกข้อมูลที่ถูกต้อง
- จะเหมาะกับคนที่ไม่ค่อย
มีเวลาศึกษาเองมากกว่า) แต่ถ้าเราศึกษาด้วยตัวเอง
เรื่องบางเรื่องเราเข้าใจแล้ว เราอาจจะผ่านไปได้ แล้วเรื่องไหนที่ไม่เข้า
ใจ ก็ให้ทำซ้ำไปเรื่อยๆ จนกว่าจะเข้าใจ ซึ่งในระหว่างที่เราทำซ้ำไปเรื่อยๆ
นั้น เราอาจจะได้ทิป เทคนิคเพิ่มขึ้น แถมยังใช้
โปรแกรมคล่องขึ้นอีกด้วย
..ต่อจากนี้ไปก็ขึ้นอยู่กับแต่ละคนแล้วครับว่า จะเอาคำแนะนำนี่ไปใช้ได้ผลมากเพียงใด
ขอให้มีความตั้งใจจริง ก็จะเก่งในไม่ช้า
สนับสนุนบทความดีๆจาก www.vectorwork.com
VectorWork.com : all to be graphics
 |
|
 |
|
|
|