ทําความรูจักกับ Flash แตเดิมนั้นโปรแกรม Flash ถูกออกแบบมาเพื่อเปนโปรแกรมสําหรับวาดภาพ ซึ่งตอมาไดพัฒนาใน สวนของ Animation ทําใหเพิ่มประโยชนทางดานการใชสอยมากขึ้น ในแวดวงนักออกแบบเว็บไซต หรือ นักพัฒนา Animation ไมมีทานใดที่ไมรูจักโปรแกรมนี้ เนื่องจาก Flash เปนโปรแกรมที่สราง Animation ที่มีคุณภาพ สามารถโตตอบกับผูใชไดดี ทําใหโปรแกรมนี้เปนโปรแกรมที่ยอดฮิตในหมูผูสราง Animation และ Interactive แบบ 2 มิติในปจจุบัน ซึ่งเว็บไซตที่เผยแพรผลงานที่สรางโดย Flash ดังๆ อยางเชน http://happytreefriends.atomfilms.com, http://www.boombastick.net
1
2
3
รูปรางหนาตาของโปรแกรม Flash 1. Open a Recent Item จะเปนการเปดงานที่ทํา 9 ชิ้นลาสุด หรือกดปุม open เพื่อเปดไฟลอื่น
นอกเหนือจากนี้ 2. Create New สรางงานใหม 3. Create from Template สรางงานจากแมแบบที่ทางโปรแกรมเตรียมไวให *ในที่นี้จะใช Flash File (Action Script 2.0) เปนหลักในการสอน
1
Toolbar
Menu Bar
Timeline
Stage
สวนประกอบที่สําคัญของโปรแกรม 1. Menu Bar คือแถบที่รวบรวมคําสั่งทั้งหมดที่ใชสรางผลงาน รวมไปถึงการตั้งคาของโปรแกรม 2. Toolbar คือแถบเครื่องมือที่ชวยใหการทํางาน 3. Timeline คือสวนที่ใชสรางภาพเคลื่อนไหว 4.
Stage คือสวนของหนากระดาษตรงกลาง ซึ่งจะมีสีขาว เปนพื้นที่จริงของการแสดง
สวนประกอบของ Menu Bar
*รายละเอียด Menu Bar จะอธิบายแคสวนที่ใชหลักๆ ในการเรียนครั้งนี้
2
สวนของ File
สรางไฟลใหม เรียกไฟลที่มีอยูแลวขึ้นมาใชใหม ปดโปรแกรม ปดทุกหนาตางของโปรแกรม บันทึกโปรแกรม บันทึกโปรแกรมครั้งแรก บันทึกทั้งหมด
นําผลงานออกเปนภาพนิ่ง
นําผลงานออกเปนภาพเคลื่อนไหว
จบการทํางานของโปรแกรม
3
สวนของ Edit
Undo ยอนกลับไปทําสวนที่แลว Redo ทําตอไปสวนขางหนา ตัดขอมูล สําเนาขอมูล วางขอมูล
ตั้งคาสวนตางๆ ของโปรแกรม
4
สวนของ View
ขยายเขา ขยายออก ขยายตามสัดสวนที่โปรแกรมกําหนด เปด-ปดไมบรรทัด ตารางเพื่อชวยในการวาดภาพ
***ในการวาดภาพจะใชสวนที่กลาวมานี้เปนหลักๆ หากสนใจหรือตองการหาความรูเพิ่มเติมแนะนําใหหา
หนังสือที่มีรายละเอียดเยอะๆ เชน คัมภีร Flash เปนตน
5
Toolbox
Toolbox เปนกลองเก็บอุปกรณที่ใชในหารสรางปรับแตง และแกไขวัตถุ สามารถเรียกใชงาน toolbox ไดโดยเลือกคําสั่ง Window > Tools แลวคลิกเครื่องมือที่ตองการ
Selection Tool [V]
Free Transform Tool [Q] Pen Tool [P] Line Tool [N] Pencil Tool [Y] Ink Bottle Tool [S] Eyedropper Tool [I] Hand Tool [H]
Sub selection Tool [A]
Lasso Tool [L] Text Tool [T] Rectangle Tool [R] Blush Tool [B] Paint Bucket Tool [K] Eraser Tool [E] Zoom Tool [M,Z]
Stroke Color Fill color Black and white
No color
Snap to Object
Swap color
6
เครื่องมือตางๆ ใน Toolbox Selection tool [V] Sub Selection tool [A]
กลุมคําสั่ง Selection การเลือกวัตถุ
Lasso tool [L] Free Transform Tool [Q]
ยืด หด ยอ หรือขยายขนาดของวัตถุ
Line tool [N]
วาดเสนตรง
Pen Tool [P]
วาดเสนและสวนโคงตางๆ
Text Tool [T]
พิมพอักษร
Rectangle Tool [R]
วาดสี่เหลี่ยม
Pencil Tool [Y]
ดินสอวาดภาพ
Blush Tool [B]
แปรงระบายสี
Ink Bottle Tool [S]
ปรับแตงเสนขอบของวัตถุ
Paint Bucket Tool [K]
เทสีพื้น
Eyedropper Tool [I
คัดลอกสีที่ตองการ
Hand Tool [H]
จับ stage ใหเลื่อนไปยังที่ที่ตองการ
Eraser Tool [E]
ยางลบ
Zoom Tool [M,Z]
ซูม/ยอขยายหนาจอ
เครื่องมือภายใน Toolbox แบงออกเปนกลุมไดทั้งหมด 5 กลุม ดังนี้
7
1. อุปกรณในกลุม View อุปกรณในชุดนี้มีไวสําหรับดูงานในรูปแบบตางๆใหทํางานละเอียดและสะดวกขึ้น จึงถือ เปนอุปกรณพื้นฐานที่ตองใชเปนลําดับแรก Hand tool อุปกรณืมือจับนี้มีไวใชในกรณีที่ตองการเลื่อนงานไปตําแหนงตางๆ โดยสวนใหญจะ ใชเมื่อมีการ zoom เขาไปดูใกล และเมื่อตองการขยับงานไปดูสวนอื่นจะไดไมตองเสียเวลา ไปลาก scrollbar หรือ zoom ออกมาอีก Zoom Tool แวนขยายนี้มีความจําเปนเมื่อตองการดูงานแบบละเอียดในระยะใกล หรือตองการดู ภาพรวมในระยะไกล สามารถใชอุปกรณนี้ zoom เขาออกดวย โดยคาเริ่มตนเมื่อกดครั้งแรก ที่สวน option ของ toolbar จะเปนแวนขยายเครื่องหมายบวก เมื่อคลิกที่พื้นงานจะเปนการ zoom เขา และเมื่อตองการ zoom ออกใหกดที่แวนขยายเครื่องหมายลบ 2. อุปกรณในกลุม option การทํางานของ Option นั้นจะแปรเปลี่ยนไปตามอุปกรณตางๆ เชนกรณี zoom จะมี zoom เขาและออก ใหเลือกที่ option Stroke Color
ปรับแตงสีของเสนขอบ
Fill color
ปรับแตงสีของพื้นที่
Black and white
เปลี่ยนสี stoke color กับ fill color ใหเปนสี ขาว/ ดํา
No color
เปลี่ยนสี stoke color ใหไมมีสี
Swap color
สลับสีระหวาง stoke color กับ fill color
Snap to Object
แมเหล็กยึดวัตถุ
8
3. อุปกรณในกลุม Drawing อุปกรณในกลุมนี้มีไวเพื่อวาดรูปขึ้นในโปรแกรม Line Tool Line Tool คือเครื่องมือวาดเสนตรง โดยคลิกที่
จากนั้นเมาสจะเปลี่ยนเปนรูป + ให
คลิกเมาสคางไวแลวลากเสนไปในทิศทางที่ตองการ แลวปลอยเมาสจะไดเสนตรงหนึ่งเสน โดยเวน ที่วาดจะมีสี Stroke การดัดเสนโคง
1. เลือกเครื่องมือ
Line ลากเสนตามทิศที่ตองการ
2. กด Ctrl คางไวแลวเลื่อนเมาสไปที่กลางเสนจะเห็นวาเมาสเปลี่ยนรูปเปน สัญลักษณที่ใชในการดัดเสนโคง 3. ดัดเสนไปในทิศทางที่ตองการ การเปลี่ยนทิศทางของเสน
ซึ่งมี
1. เลือกเครื่องมือ Line ลากเสนตามทิศที่ตองการ 2. กด Ctrl คางไวแลวเลื่อนเมาสไปที่ปลายเสน สังเกตไดวาเมาสจะเปลี่ยนเปนรูป... ซึ่ง เปนสัญลักษณที่ใชในการเปลี่ยนทิศทางของเสน 3. คลิกลากเปลี่ยนไปในทิศทางที่ตองการ Pen Pen จะใชวิธีคลิกเปนจุดแลวปลอย (ไมคลิกคางแลวลากเหมือน line) เมื่อคลิกที่จุดถัดไป โปรแกรมจะลากเสนจากจุดแรกไปที่จุกถัดไปดดยทันที โดยใชสี Stroke แลวเมื่อวนกลับมาคลิกที่ จุดเริ่มตนรูปทรงจะถูกปด เสนที่เกิดจาก pen จะถูกเรียกวา Path
9
วิธีสรางเสนโคงดวย Pen tool จะเริ่มตนที่ 1. คลิกจุด A แลวปลอย 2. ลากเมาสไปที่จุด B แลวลิกคางไว 3. ลากเมาสไปทิศทางใดก็ได จะเห็นแขนลากออกมา 2 ขาง ขางหนึ่งจะไปตามทางที่เมาสลาก อีก ขางหนึ่งไปในฝงตรงขาม 4. ไดเสนโคงตามที่ตองการ
10
Text การพิมพ Text ลงใน flash นั้นใชควบคูกับ properties panel เนื่องดวยวาการปรับเปลี่ยน font สี ขนาด การจัดเรียง ลวนตองทําที่ properties ทั้งสิ้น
Text type Font
Font Size
Text (Fill) Color
Text Alignment
Change Orientation of Text Font Rendering Method
Letter Spacing
Character Position
URL Link
Edit format Option
สวนประกอบสําคัญของ Properties เมื่อเลือกใช Text 1. Text type หรือ ชนิดของ text โดยมีใหเลือกอยู 3 ชนิด Static text
Text ที่แสดงผลเปน Graphic แบบปกติ
Dynamic text
กลองแสดงขอความ หรือ text ที่สามารถเปลี่ยนการ แสดงผลไดตามการเขียนโปรแกรม
11
Input text
กลองแสดงขอความ หรือ text ที่อนุญาตใหผูชมพิมพ ขึ้นเองได ใชรับคาจากผูชม แลวนําไปคํานวณในกรณี ตางๆ
2. Font สามารถเลือก font ที่มีอยูภายในเครื่องโดยสามารถกดที่เครื่องหมาย ดาน ขวามือ สวน Font Size หรือขนาดของ Font จะเพิ่มขนาดไดใหญถึง 96 point 3. Text Alignment ใหเลือกจัดรูปแบบของกลุม Text ซึ่งมีรูปแบบใหใชดังนี้ - Align Left : จัดชิดซาย - Align Center : จัดกึ่งกลาง - Align Right : จัดชิดขวา - Justify : จัดเสมอ 2 ดาน 4. Edit Format Options เปนสวนที่ใหเลือกเกี่ยวกับการจัดกรอบตัวหนังสือ เมื่อกดปุม จะมีหนาตาง pop-up มีสวนตางๆดังนี้ - Indent : การควบคุมระยะหางของยอหนา - Line Spacing : การควบคุมความหางระหวางบรรทัด - Left Margin : การควบคุมความหางจากกรอบตัวอักษรดานซาย - Right Margin : การควบคุมความหางจากกรอบตัวอักษรดานขวา 5. Change Orientation of Text and Text Rotation สามารถกําหนดทิศทางการแสดง Text ไดจากปุมนี้โดยจะมีใหเลือก 3 รูปแบบ - Horizontal : เปน Text แนวนอนที่เปนคาเริ่มตนที่ใชกันปกติ - Vertical, Left to Right : เปน text แนวตั้งที่อานจากซายไปขวา - Vertical, Right to Left : เปน text แนวตั้งที่อานจากขวาไปซาย 6. Letter Spacing การกําหนดคา Letter Spacing เปนการลดหรือเพิ่มชองไฟของตัวอักษรแตละตัว 7. Character Position เปนตัวเลือกในการพิมพตัวยกตัวหอย โดยมีให 3 ตําแหนง - Normal : ตําแหนงปกติ - Superscript : ตัวยก - Subscript : ตัวหอย
12
8. Font Rendering Method การเลือกแสดงผลของ Font ตางๆ สามารถกําหนดใชใหเหมาะสมกับการใชงานแตละ ประเภทที่แตกตางกันได - Use Device Fonts เปนการเลือก Font จากเครื่องคอมพิวเตอร โดย Flash ได กําหนด Font ที่ใชสําหรับ Device ไว 3 รูปแบบคือ 1. _sans1 สําหรับผูที่ใช Font ใกลเคียงกับตระกูล Helvetica หรือ Arial 2. _serif2 สําหรับผูที่ใช Font ใกลเคียงกับตระกูล Times Roman 3. _typewriter สําหรับผูที่ใช Font ใกลเคียงกับตระกูล Courier - Bitmap text (no anti-alias) ใชในกรณีที่ตองการพิมพ Text ขนาดเล็ก - Anti-Alias for animation เปนตัวอักษรที่ถูกออกแบบมาใชกับ text ที่จะมีการ เคลื่อนที่ - Anti-Alias for readability ใชกับ font ขนาดทั่วไปถึงขนาดใหญ แตแสดง ผลไดคมชัดสวยงามกวาแบบ Anti-Alias for animation แตขณะเดียวกันถา นํามาเคลื่อนไหว ก็ไม smooth - Custom anti-alias สําหรับการตั้งคา Anti-Alias ดวยตนเอง 9. URL Link การพิมพ Text ใน Flash ทุกคํานั้น มีคุณสมบัติพิเศษวา สามารถทํา Link ไดทันที โดยทําไฮไลทบริเวณที่ตองการทํา link จากนั้นใส URL ของเว็บไซต Rectangle การวาดรูปสี่เหลี่ยมสําเร็จรูปสามารถเลือกสีเริ่มตนกอนได โดยปกติสี่เหลี่ยมที่วาดจะมีทั้ง Fill และ Stroke เมื่อตองการวาดสี่เหลี่ยมใหใชอุปกรณ
คลิกแลวลากบน Stage จะเกิดรูป
สี่เหลี่ยมซึ่งกําหนดขนาดไดอยางอิสระ แตหากวาตองการความกวางและยาวที่เทากันใหกดปุม Shift ในขณะที่วาด
1 2
Sans-serif font Serif font
13
Oval วงกลมสําเร็จรูป การทํางานลักษณะเดียวกับ Rectangle แตใชวาดวงกลมโดยใชอุปกรณ
และมี
properties ที่นาสนใจ - Start angle สามารถกําหนดมุมเริ่มวาดของวงกลมได - End angle สามารถกําหนดมุมสิ้นสุดของวงกลมได - Inner radius สามารถกําหนดรัศมีของวงกลมได(ในกรณีที่ตองการสรางวงแหวน) Rectangle Primitive สี่เหลี่ยมที่แกไขได ลักษณะการใชงานเหมือนกับ Rectangle คือวาดรูปโดยกําหนดคาไดเหมือนกัน แตตางจาก rectangle ตรงที่สามารถตั้งคาไดเสมอถึงแมวาจะวาดเสร็จแลว โดยเลือกที่อุปกรณ Oval Primitive วงกลมที่แกไขได ลักษณะการใชงานเหมือน Oval แตสามารถตั้งคาไดภายหลังเชนเดียวกับ Rectangle Primitive โดยเลือกที่อุปกรณ Polystar Tool รูปหลายเหลี่ยมและรูปดาว ใชสําหรับวาดรูปหลายเหลี่ยมและรูปดาวสําเร็จรูป โดยตองตั้งคาที่ Properties กอนวาดทุก ครั้ง โดยเลือกที่อุปกรณ
แลวกดที่ปุม options ของ properties
ที่หนาตาง Tool settings มีทางเลือกดังนี้ - Style มีใหเลือก 2 แบบคือ polygon และ star - Number of Sides กรณีของ polygon คือจํานวนดาน สวน star คือจํานวนแฉก - Star point size สําหรับการตั้งคาระยะจากจุดศูนยกลางจนถึงขอบดาว โดยมีคาไดตั้งแต 0.1 – 1.0
14
Pencil อุปกรณดินสอนี้จะวาดเสนดวยมือ โดยเสนที่เกิดจะเปนสี Stroke โดยมี option สําหรับ ดินสอใหเลือก 3 รูปแบบ
- Straighten เสนที่ไดจะถูกบังคับใหเรียบตรง ตัดเสนโคงออกไปใหมากที่สุด - Smooth เสนที่ไดจะถูกคํานวณใหเรียบ แตจะเนนความโคงสวยงาม - Ink เสนที่ไดจะตรงกับลักษณะที่วาดจริง Brush เปนเครื่องมือระบายสรเปรียบเหมือนพูกัน และมี Option ใหเลือกใชงานหลากหลาย ทั้ง ขนาดและลักษณะหัวแปรง โดยคลิกที่
เมาสจะเปลี่ยนเปนรูป
จากนั้นคลิกเมาสไวแลวลาก
ไปทิศทางที่ตองการ การกําหนดคุณสมบัติการระบายสี โดย Brush Mode
Paint Normal
กําหนดระบายทับทุกสวนของภาพ
Paint Fills
กําหนดระบายสีในพื้นที่ Fill
Paint Behind
กําหนดระบายสีหลัง Object
15
Paint selection
กําหนดระบายสีเฉพาะสวนที่ Selection ไว
Paint Inside
กําหนดระบายสีเฉพาะในพื้นที่ที่คลิก เลือกครั้งแรก
4. อุปกรณในกลุม Painting and Retouching อุปกรณในกลุมนี้มีไวเพื่อใหนองๆสามารถเติมสี หรือลบสวนที่ไมตองการทิ้งไป Ink Bottle เติมสีเสนขอบ (Stroke) อุปกรณนี้สามารถเติมเสน Stroke หรือเสนขอบใหรูปที่วาดขึ้นได นองๆสามารถกําหนด รูปแบบและขนาด รวมทั้งสีของเสน Stroke ไดที่ properties เมื่อเลือกอุปกรณ
แลว วิธีใชคือนํา
ไปคลิกที่บริเวณขอบของวัตถุดานที่ตองการเติม Paint Bucket เทสีใสวัตถุ อุปกรณเทสีพื้นที่(Fill) โดยคลิกที่
แลวเลือกสีที่ตองการใน Fill Color ก็สามารถเทสี
ในพื้นที่ที่ตองการลงสีไดเลย Paint Bucket Tool ยังมี Option ใหเลือกเทสีในพื้นที่ที่ชองวางขนาด เล็กหรือขนาดใหญไดดวย
Eyedropper ดูดสี เมื่อตองการใชสี
Don’t Close Gaps
เทสีโดยไมมีชองวาง
Close Small Gaps
เทสีโดยมีชองวางขนาดเล็ก
Close Medium Gaps
เทสีโดยมีชองวางขนาดกลาง
Close Large Gaps
เทสีโดยมีชองวางขนาดใหญ
เดียวกับที่เคยใชงานไปแลว หรือสีที่มีอยูงานอื่น จะผสมสีไดตามสีนั้นจะเปนเรื่องยาก อุปกรณนี้จึง ออกแบบใหดูดสีจากรูปภาพใดก็ได โดยวิธีการใชงานคือ ใหใช Eyedropper ไปคลิกบริเวณที่ ตองการดูดสี โดยเลือกดูดไดแยกกันระหวาง Fill และ Stroke
16
Eraser ยางลบ เมื่อตองการลบรูปบางสวน สามารถใชยางลบไปถูบริเวณที่ตองการได โดยสามารถกําหนด Option ของยางลบได 6 แบบ
Erase Normal
ลบทั้ง Fill และ Stroke
Erase Fill
ลบเฉพาะสี Fill เทานั้น
Erase Line
ลบเฉพาะเสน Stroke
Erase Selected Fill ลบเฉพาะบริเวณที่เลือกไวกอน Erase Inside
ลบเฉพาะสี Fill บริเวณที่ลบ
Faucet(รูปกอกน้ํา) เมื่อกดปุมนี้ เมื่อกดโดนวัตถุใดก็ตาม บริเวณที่เปนวัตถุชิ้นเดียวกันทั้งหมด จะถูกลบทันที
5. อุปกรณในกลุม Selection Selection อุปกรณที่สําคัญที่สุด ใชในการเลือกวัตถุหรือรูปภาพตางๆ Sub selection Free Transform Free Transform คือ เครื่องมือยอ, ขยาย, บิด หรือหมุน โดยคลิกที่
แลวคลิกที่วัตถุ จากนั้น
ใชเมาสปรับยอ ขยาย บิด หรือหมุนวัตถุตามที่ตองการ โดยคลิกที่ปุมสี ดํารอบวัตถุคางไว แลวลาก เมาสในทิศทางที่ตองการ หากตองการรักษาสัดสวนของวัตถุใหกดคีย Shift คางไวดวย
17
เครื่องมือนี้มี Option 4 แบบใหเลือกใชงาน แบบ Rotate and Skew
แบบ Scale
แบบ Distort
แบบ Envelope
Gradient Transform เปนอุปกรณใชในการใสสีของ Fill Lasso อุปกรณเลือกวัตถุแบบอิสระ ทําหนาที่เหมือนกับ Selection คือไวสําหรับเลือกวัตถุซึ่งสามารถเลือกในพื้นที่ที่กําหนดได อยางอิสระ ไมเปนสี่เหลี่ยมเหมือน Selection โดยคลิกลากจนครบรอบวัตถุซึ่งอยูในพื้นที่ที่ถูก เลือก
18
Tweening “Tweening” คืออะไรใชทําอะไร? Tweening ใน Flash นั้น หมายถึงการที่โปรแกรมชวยในการคํานวณรูปภาพที่ใชในการทํา Animation โดยที่ไมตองวาดภาพทีละภาพ ซึ่งการทํา Tweening ใน Flash นั้นสามารถแบงได 2 ประเภท คือ Shape และ Motion “Shape Tweening” คืออะไร? Shape Tweening คือ การที่โปรแกรมหนึ่งคํานวณรูปทรงจาก รูปทรงหนึ่งเปลี่ยนเปนอีกรูปทรง โดยกําหนดจุดเริ่มตนและจุดสุดทาย หรือการทํา keyframe นั่นเอง
Workshop1: ลองเปลี่ยนรูปสี่เหลี่ยมเปนหาเหลี่ยมดังรูป
สําหรับ Shape Tweening นั้นไมสามารถทํากับวัตถุทุกๆชนิดได ซี่งวัตถุเหลานั้นไดแก กอนทํา Workshop ครั้งตอไปเราตองเรียนรูหรือทําความรูจักกับ “Layer” กันกอน “Layer” คืออะไร? Layer เสมือนที่เก็บของวัตถุทื่ตองการใหเราแสดงบน Stage และเปน สวนสําคัญในการสราง Animation ลักษณะของ Layer ในการสรางภาพ Animation นั้นเปรียบเสมือนการนําแผนใสหลายๆแผนมาวาง ซอนทับกัน โดยที่แตละแผนนั้นจะมีเหตุการณหรือการกระทําตางๆปรากฎอยู
ตัวอยางการแสดง Layer ของ Logo 1.
Text
เนื่องจากมีคุณสมบัติของ Font อยูแลว
19
Group Object วัตถุที่ได Group ไว จะตอง Ungroup กอนจึงจะสามารถทํางานได 3. Raster, Bitmap Files เนื่องจาก Shape Tween ทําไดเฉพาะทีเ่ ปน Vector Graphic เทานั้น 4. Symbol จะนําไปใชกับ Motion Tweening โดยตรง ไมสามารถทํา Shape Tweening ได 2.
Add Shape Hint คําสั่งสําหรับการบังคับจุดในการทํา Shape Tweening ใหลองทํา Shape Tweening อยางงาย ของสี่เหลี่ยม 1 ชิ้น โดยให Keyframe แรกวาดรูปสี่เหลี่ย มแนวนอนดังรูป จากนั้นใส Keyframe ที่ 20 แลวดัดให เปนภาพที่ปรากฏ
ตัวอยางผลลัพธ Add Shape Hint
วิธีทําเริ่มจากการสรางรูปสี่เหลี่ยมดังภาพไวที่ Keyframe เริ่มตนและทํา Motion Tween ซึ่งจากตัวอยาง กําหนด Keyframe สุดทายที่ frame 20 (สามารถกําหนด ที่ Frame ไหนก็ไดขึ้นกับตัวผูใชงาน ) สําหรับการทํา Tween นั้นเลือกแบบ Shape Tween หลังจากนั้นเลือกที่เมนู Modify > Shape > Add Shape Hint จะเกิดวงกลมสี แดงขึ้นบริเวณกึ่งกลางเปนอักษร “a” ใหยายจุด a ไปไวจุดที่ตองการในที่นี้คือมุมลางขวา หลังจากนั้นไปที่ Keyframe สุดทายจะพบตัวอักษรสีแดงเชนเดียวกัน ใหยายจุด a ไปไวในจุดที่ตองการใหมุมลางขวาจาก Keyframe แรกขยับไปหา ในที่นี้ตองการใหอยูกับที่จึงไวที่ลางขวาเชนเดียวกัน
ขั้นตอนการ Add Shape Hint
“Motion Tweening” คืออะไร?
Motion Tweening คือ การทํา Animation ของวัตถุชิ้นเดิมใหมี Effect ตางๆ เชน เคลื่อนที่หมุน สวางขึ้น มืดลง จางหายไป โดยไมไดเปลี่ยนแปลงวัตถุ
20
“Symbol” คืออะไร Symbol หรือ สัญลักษณ ใน Flash เปนวัตถุที่ตองใชซ้ําหลายๆครั้ง เชน โลโก ซึ่งคุณสมบัติเดนของ Symbol คือไมวาจะนําไปใชกี่ครั้งก็ตาม เมื่อออกไปเปน Movie โปรแกรมจะเรียกเพียงตนฉบับเทานั้น ทําให ขนาดไฟลลดลง ทําใหเปนสิ่งที่ควบคูและเหมาะสมกับการทํา Motion Tween ที่สุด เราจะสราง Symbol ไดอยางไร? ใหลองสรางรูปขึ้นมา 1ชิ้นเมื่อเราตองการใหเปลี่ยนเปน Symbol ทําไดโดยเลือกใชคําสั่งที่เมนู Modify > Convert to Symbol (F8) หรือคลิกขวาที่เมาส เลือกคําสั่ง Convert to Symbol… หลังจากนั้นจะปรากฎหนาตาง Convert to Symbol
หนาตางของ Convert to Symbol
จากนั้นใหเลือก Symbol ซึ่งมีทั้งหมด 3 แบบ ดังนี้ Movie Clip เปน Symbol ที่เก็บภาพเคลื่อนไหวและ Animation ได 2. Button เปน Symbol ปุมสําหรับเขียน ActionScript และใชในการกดสั่งงาน 3. Graphic เปน Symbol ที่เก็บภาพนิ่งหรือภาพเคลื่อนไหวแตไมมีการเขียน ActionScript 1.
ทั้ง 3 ชนิดสามารถเขียน Motion Tween ไดอยางสมบูรณ แตสําหรับ Animation แบบเบสิคทั่วไปใหเลือก Graphic กอน สวน Registration ใหเลือกใดก็ไดแลวกด OK สังเกตวาจะมีกรอบสีฟาและมีจุด Center ลักษณะวงกลมกลวง เปนขอสังเกตงายๆเวลาอยากทราบวา วัตถุใดเปน Symbol และเครื่องหมายบวกที่เกิดขึ้นนั้นมาจากตําแหนงของ Registration ที่เลือกไว
วัตถุที่เปลี่ยนเปน Symbol แลว จะสีกรอบเปนสีฟา
21
…NOTE Symbol เปนวัตถุที่เหมาะสมในการทํา Motion Tween มากที่สุด เพราะไมวาจะเปน Bitmap Text หรือรูปภาพตางๆ จะตองถูกแปลงเปน Symbol เสมอ
เมื่อได Symbol แลวใหเปด Panel คูกับ Library โดยไปที่เมนู Window > Library (Ctrl + L, F11) จะ พบวา Symbol ที่สรางถูกใสไวใน Library เรียบรอยแลว ใหลองลากที่ชื่อหรือที่รูปภาพของ Symbol ลงมาปลอยที่ Stage หลายๆชิ้นซึ่งจะมีรูปรางหนาตาเหมือนกับตนฉบับ
การลาก Symbol จาก Library มาลงที่ Stage
วัตถุซึ่งถูกเก็บไวใน Library จะเรียกวา “Symbol” สวนวัตถุที่อยูบน Stage นั้นจะถูกเรียกวา “Instance” สังเกตไดจากการเลือกวัตถุที่ Stage แลวดูที่ Properties Panel จะเห็นคําวา “instance of: ชื่อของ Symbol”
Instance
22
วิธีแกไข Symbol เลือกได 2 วิธี ขึ้นกับสถานการณการใชงาน 1.
ดับเบิ้ลคลิกที่ไอคอนของ Symbol ใน Library สังเกตบริเวณใต Timeline หรือขางๆคําวา Scene 1 จะเกิด ไอคอนและชื่อของ Symbol นั้นๆอยู เมื่อแกไขเสร็จแลว กลับมาที่ Stage โดยกดที่คําวา “Scene 1” หรือ ดับเบิ้ลคลิกที่พื้นโลงก็ได
การแกไข Symbol ดวยการดับเบิ้ลคลิกไอคอนที่ Library
2.
ดับเบิ้ลคลิกที่ตัว Instance ตัวใดก็ได ลักษณะตรงใต Timeline นั้นจะขึ้นแบบเดียวกับขอแรกแตตาง ตรงที่กรณีนี้จะเห็น Layout ที่หนา Stage แบบบางๆ ซึ่งบางครั้งการแกไข Symbol ก็จําเปนตองดู Stage ไปดวย เมื่อแกไขเสร็จแลว กลับมาที่ Stage โดยกดที่คําวา “Scene 1” หรือดับเบิ้ลคลิกที่พื้นที่โลงก็ได
แกไข Symbol ดวยการคลิกที่ตัว Instance
ทั้ง 2 วิธีนี้จะทําใหตนฉบับเปลี่ยนไปและทําให Instance ทุกๆตัวเปลี่ยนตามดวย และนี่คือคุณสมบัติเดน ของ Symbol นั่นเอง แลว Symbol เกี่ยวของกับ Motion Tweening อยางไร ดวยคุณสมบัติที่วา Instance ทุกตัวนั้นมีตนฉบับเดียวกัน ดังนั้นในการ Insert Keyframe ซึ่งปกติแลว โปรแกรมจะ Copy ภาพจาก Keyframe ลาสุดไป โดยการสราง Graphic ขึ้นใหม แตกรณีที่เปน Symbol นี้ โปรแกรมก็จะใช Instance ที่เกิดจาก Symbol เดียวกัน แตทวาหากเปนวัตถุแบบเดียวกันทุก Keyframe ก็คงทําอะไรไมไดนอกจากจะเคลื่อนที่ไปมา ดังนั้น ประเด็นสําคัญก็คือถึงแมวา Instance เหลานี้จะเกิดจากตนฉบับเดียวกัน แตสามารถทําใหแตกตางกันได 2 รูปแบบใหญๆ ไดแก
23
การ Transform เชน การยอขยาย การบิด การหมุน 2. การใส Color Styles เปนคุณสมบัติเฉพาะของ Symbol คือ เลือกที่ Instance แลวไปที่ Properties Panel ชองทางขวามือจะพบ Drop Down Menu ที่เขียนวา Color โดยมีใหเลือกตั้งได 4 คา 2.1. Brightness ปรับคาความสวาง ถาเปนบวกจะสวางขึ้น แตถาเปนลบจะมืดลง 2.2. Tint การผสมสีทับลงไปบนวัตถุ โดยเลือก % ของที่ทับลงไป 2.3. Alpha ปรับคาความโปรงใสโดย % ที่ลดลงก็จะทําใหมองทะลุดานลางไดมากขึ้น 2.4. Advance สามารถปรับสีและ Alpha ไดพรอมๆกัน แตตองใชการเลือกสี RGB โดยเลือก Advanced แลวกดปุม Settings 1.
เทคนิคเพิ่มเติมการทํา Animation หลังจากที่ไดเรียนรูการทํา Animation ใน Flash ไปหลายรูปแบบแลวในบทนี้จะนําเสนอเทคนิค Layer Effects และเทคนิคอื่นๆ ทั้งในแบบที่ Flash เตรียมไวใหและในแบบที่เทคนิคทั่วไปของ Animation อื่นๆ และจากบทที่แลวที่เราได ทราบวาหลักการทํา Animation นั้นจะตองใช Layer อยูเสมอ ฉะนั้นเมื่อใดก็ตามที่เรามีการใช Layer ก็สามารถที่จะนํา Layer Effects เขามาเพิ่มเติมได โดยจะพูดถึงใน 2 รูปแบบดวยกัน คือ 1. Motion Guide การทําใหวัตถุเดินทางตามเสนที่กําหนด 2. Masking Layer การบังบางสวนของ Graphic บน Layer Motion Guides เมื่อเราไดทําการสราง Motion Tweening โปรแกรมจะทํางานโดยเริ่มจาก Keyframe เริ่มตนไปยัง Keyframe สุดทายที่เรากําหนด สวนมาก Motion Tween มักใชเปนเสนตรงแตถาหากเราตองการทําเปนเสนโคง และเสนอื่นๆนั้น ตัวชวยที่ดีที่สุด คือ Motion Guides นั่นเอง เพราะตัวนี้เราสามารถวาดเสนที่ตองการไดดวยตนเอง ดวยอุปกรณการวาด เสนของ Flash และสามารถกําหนดใหวัตถุใน Layer สามารถเคลื่อนที่ไดตามเสนที่กําหนด ซึ่งเราจะเรียกเสนนี้วา Guide Workshop : Motion Guide
24
ขั้นตอนการสราง 1. เตรียม Stage ขนาด 550 x 400 px ใสพื้นหลังตามใจชอบ และตั้ง Framerate ที่ 24 fps. 2. พิจารณา Layer ที่เราตองใชงานในที่นี้ประกอบดวย 3 สวน คือ สวนของจดหมาย หนาคน และขอความ ตั้ง ชื่อใหเรียบรอย
3. หลังจากนั้นพิจารณาเรื่องการทํา Motion Tween ใหวิ่งตามเสน (อยาลืมทําเปน Symbol กอนนะ!) ดังนั้น แปลงภาพเปน Symbol โดยใหเลือกเปนชนิด Graphic (Modify > Convert to Symbol) 4. หลังจากเตรียมทุกสวนเรียบรอยเริ่มตนการทํา Animation แบบ Frame – by – Frame จะใหจดหมายเริ่ม เคลื่อนที่ตั้งแต Frame ที่ 1 ถึง Frame ที่ 15 5. เลือกที่ Layer ของจดหมาย จากนั้นคลิกที่สัญลักษณ Add Motion Guide
สังเกตวาจะได Layer พิเศษ
เพิ่มขึ้นมาเขียนวา “Guide:letter” และจะมีสัญลักษณบงบอกความเปน Guide 6. เลือกที่ Layer “Guide : Letter” แลววาดเสน Guide ดวยเครื่องมือวาดเสนแบบใดก็ได (Line, Pen, Pencil) อยา ลืมวาตองไมใช Mode : Object Drawing เพราะถาเปนโหมดนี้ Guide จะไมทํางาน
7. Insert Keyframe ที่ 1 ของ Layer Guide แลววาดเสน โดยเริ่มจากตําแหนงของจุดหมุนของจดหมายที่ Keyframe เริ่มตนไปในทิศทางตามจินตนาการของทาน แตอยาซับซอนเกินกวาที่โปรแกรมจะคํานวณได 8. ขั้นตอนสุดทายหลังจากการวาดเสน Guide นั่นคือตองจับวัตถุ Snap ไปกับเสน ซึ่งมี 2 จุดที่ตองดึง Snap เขา หาเสน Guide คือ Keyframe เริ่มตนและ Keyframe สุดทาย 9. ใหกลับมาที่ Frame เริ่มตนใช Selection ลองเลือกที่ตัวจดหมาย สังเกตวงกลมกลวงบนตัวจดหมาย หากวาจุด นี้อยูบนเสน Guide แลว แสดงวามันไดถูก Snap เขาไปแลว สวนใหญจุดแรกนี้โปรแกรมจะดึงวัตถุเขาไปเอง แตวายังไมถูกใหคลิกที่จุดกลมกลวงตรงกลางแลวดึงเขาที่จุดเริ่มตนของ Guide มันจะถูกดูดเขาไปเอง
25
10. ทําแบบเดียวกันที่ Keyframe สุดทาย เมื่อ Snap เขากับเสน Guide ทั้งสองจุดแลวลองทดสอบโดยการกด Ctrl + Enter 11. เทคนิคเพิ่มเติมของการทํา Motion Guide คือ ใหลองสังเกตเวลาที่จดหมายวิ่งไปตามเสน Guide อาจจะดูไม คอยพลิ้ว มีวิธีงายๆที่ทําใหดูเปนธรรมชาติ ใหเลือกที่ Frame ใดก็ไดที่เปนชวงของการทํา Motion Tween และดูที่ Properties Panel จะสังเกตเห็นชองที่เขียนวา Orient to path ใหคลิกเครื่องหมายถูกหนาคําสั่งนี้ ลอง ทดสอบ Movie ดูอีกครั้ง
12. หลังจบขั้นตอนของจดหมาย เขาสูขั้นตอนของขอความตอนรับ ใชเปนลักษณะแบบ Frame – By – Frame หรือ Motion Tween ก็ได อยาลืมนะวาตอง Insert Keyframe ใหมดวยเพราะทุกอยางตั้งแต Keyframe แรกจะ แสดงออกมาหมด ยังมีคําสั่งที่นาสนใจอีก 1 คําสั่ง ที่สามารถใชกับ Motion Tween ไดเชนเดียวกัน คือ คําสั่ง Rotate ที่อยูเหนือคําสั่ง Orient to path โดยมีเมนูใหเลือก 4 แบบเปนคําสั่งสําหรับหมุนวัตถุ
อัตโนมัตินั่นเอง •
None
ไมหมุนวัตถุที่ทํา Motion Tween
•
Auto
คํานวณการหมุนจาก Keyframe เรมตนไปที่ Keyframe สุดทาย
•
CW
ยอมาจาก Clockwise โปรแกรมจะหมุนวัตถุทวนเข็มนาฬิกาในจํานวนรอบที่
ระบุไวที่ชองดานหลัง มีเทคนิคอีกอยางที่เปนตัวเพิ่มความเฉลียวฉลาดใหกับ Animation อยาง Motion Tween ที่ชื่อวา Easing Easing คืออะไร? Easing เกี่ยวของกับอัตราเรง แตสําหรับโปรแกรมไมจําเปนตองคํานวณอัตราเรงใดๆ เนื่องจากผลการ ทํางานสามารถดูจากการลองใสคาและทดสอบไดอยูแลว เพียงจําวา Ease ที่เปนคาบวกหรือ East out นั้นจะเรง
26
ความเร็วกอนแลวคอยๆลดลง สวน Ease ที่เปนคาลบหรือ Ease in ก็จะออกตัว ชา และเรงความเร็วเพิ่มขึ้นเสมือน เวลาวัตถุตกพื้น
Ease = 0
Ease = 100 Ease = -100
จะเห็นวา Ease = 0 จะเริ่มเคลื่อนที่ในระยะหางที่เทากัน แตกรณี Ease = 100 ตอนเริ่มตนระยะแตละภาพ จะหางกัน และเริ่มเปลี่ยนแปลงนอยลงในรูปหลัง Masking Layer Mask คือ การสรางหนากาก นั่นคือการแสดงบางสวนของภาพเทานั้น แสดงสวนที่เราตองการใหคนอื่น เห็นเหมือนการที่เราใสหนากากนั่นเอง ใหเขาใจการทํา Mask มากขึ้น เราจะลองทําแบบฝกหัดพรอมๆกันนะ Workshop Masking 1. ดึงรูปภาพเขามาที่ Stage (File > Import to Stage หรือ Ctrl+r) วางตําแหนงใดก็ได ตั้งชื่อ Layer “image”
2. ขึ้น layer ใหม ตั้งชื่อวา mask และพิจารณาวาอยากจะแสดงสวนไหนของภาพบาง โดยใหวาดภาพ Shape ลงไปในบริเวณนั้นๆ เปนสีใดก็ได (ควรเปน Shape เทานั้น ไมควรใช Drawing Object, Primitive Object หรือ Grouped Object)
27
3. เมื่อได Shape ที่ตองการแลว ใหดับเบิ้ลคลิกที่กระดาษพับมุมบริเวณหนาชื่อ Layer “mask” หรือ Layer ที่อยูดานบน จะมีหนาตาง Properties ขึ้นมา ที่ตัวเลือก Type ใหเปลี่ยนจาก Normal เปน Mask ตอบ OK ทําให Layer นี้มีคุณสมบัติเปน Mask ทันที
4. ใหจําไวดวยวาเราจะตองระบุดวยวา Layer ใดเปน Layer ที่ถูก Mask เนื่องจาก Mask หนึ่งอัน สามารถ Mask ไดหลาย Layer ทําไดโดยดับเบิ้ลคลิกที่กระดาษพับมุมของ Layer image ที่หนาตาง ของ Layer Properties หรือ Type เปน Masked ดังรูป
28
5. ลองทดสอบงาน (Ctrl + Enter) นอกจากนี้เรายังสามารถนําเอาเทคนิค Tween มาใชกับ Mask Layer ไดอีกดวย ลองทํากันดูนะจะ
สรางงานแบบ Interactive ดวย Symbol & Button หลังจากที่ไดรูจัก Symbol – Graphic ในการทํา Motion Tween เรามาทําความเขาใจกับเทคนิคใหมอยาง Symbol & Button หรือที่เรารูจักวาปุม โดยปุมนั้นก็มีหนาที่หลักๆในการกดเพื่อสั่งงานมากกวาที่จะกดเคลื่อนที่ไปมา ในอีกแงหนึ่ง เมื่อมีการใช Button แลว ก็หมายความวางาน Flash นั้นจเปนงานที่ตอบโตกับผูใชไดทันที หรือเรียกวา Interactive นั่นเอง แลวเราจะสรางปุมไดอยางไร? วิธีการสรางก็งายดาย เพราะมีวิธีการสรางแบบเดียวกับการสราง Symbol Graphic นั่นคือ วาดภาพสิ่งที่ ตองการจะใหเปนปุม ไมวาจะเปน Text, Shape หรือรูปภาพ จากนั้นใชคําสั่ง Modify > Convert to Symbol (F8) แตใหเลือก Type เปน Button …NOTE
ขอแตกตางของ Convert to Symbol กับ New symbol คือ การ Convert ใหเปน Symbol เปนการสราง Symbol ขึ้นมากอนจึงกําหนดบทบาทวาจะใหทําอะไร แต ในการสราง New Symbol นั้นเปนการกําหนดบทบาทใหเสร็จสิน้ กอนกอนที่จะสราง Symbol ออกมา
วิธีการสรางปุมโดยใชคําสั่ง New Symbol 1. ไปที่เมนู Insert > New Symbol (Ctrl + F8)
29
2. ตั้งชื่อปุมพรอมเลือก Type เปน Button
3. เมื่อกด OK บริเวณ Address Bar จะปรากฏสัญลักษณของ Symbol – Button รูปนิ้วกดขึ้น ซึ่งนี่คือ ความ พิเศษภายในตัวมันเอง
จากรูปจะเห็นวามีการแสดงสถานะ 4 สถานะดวยกัน ซงแตละงานนั้นสามารถแสดง สถานะการทํางานไดดังตอไปนี้ Up
หนาตาของปุมเมื่อผูชมเห็นตอนปกติ
Over
หนาตาของปุมเมื่อนําเคอรเซอรไปวาง
Down หนาตาของปุมเมื่อผูชมเห็นตอนคลิก Hit
พื้นที่รับคาของปุม
…NOTE
ในแตละสถานะถาเราตองการวาดรูป หรือทําอะไรก็ตาม อยาลืมตอง Insert Keyframe กอนทุกครั้ง และที่สําคัญคือ ปุมโดยทั่วไปมักจะมีสถานะเปน Up เสมอ
ลองสรางปุมอยางงายเลนๆดูกันะ...
30
มาทําความรูจักกับ ActionScript กันหนอย ทําไมตองรูจัก ActionScript ? บางคนอาจจะสงสัย เพราะการที่เราจะติดตอกับ Flash ใหไดอยางสมบูรณนั้น ActionScript เนี่ยแหละจะเปนตัวสําคัญในการติดตอ (ตรงนี้จะกลาวถึงเฉพาะสวนที่ใชงานเทานั้น ติดตามในสวนของฝาย ActionScript นะจะ) ในเบื้องตนนี้ ActionScript จะแบงเปน 3 ประเภท 1. Frame ActionScript
เปน ActionScript ที่ใสบน Frame และทําตามคําสั่งเมื่อ Animation วิ่งมาถึง Frame
ที่ใส ActionScript ไว 2. Button ActionScript
เปน ActionScript ที่ใสบนปุม และทําตามคําสั่งเมื่อมีการกระทําบนปุมที่ใส
ActionScript ไว 3. MovieClip ActionScript เปน ActionScript ที่ใสบน MovieClip และทําตามคําสั่งเมื่อมีการกระทําบน MovieClip หรือเมื่อ animation วิ่งมาถึง Frame ที่วาง MovieClip ตอไปเราลองมาทํา Workshop พรอมกับการทําความเขาใจ ActionScript เบื้องตนกัน Workshop ActionScript เบื้องตน 1. เปด Workshop Motion Guide ที่ไดทําขึ้นมา หรืออาจจะเปนชิ้นงานอื่นที่เราสรางขึ้นมาก็ได (File > Open) 2. ขั้นแรกเราตองทําใหงานที่เปดขึ้นนั้นหยุดกอน หลักการก็คือ เราจะตองใส Frame action ที่ชื่อ “stop()” ลงไปที่ Frame แรก เพื่อใหโปรแกรมอานและเริ่มทํางานตั้งแต Frame 1 หรือทําตามคําสั่งทันที่เมื่อพบ …NOTE
ขอบังคับของ Frame Action คือ จะตองใสที่ keyframe เทานั้น แตเนื่องจาก Frame แรกนั้นจะเปน Keyframe ตามปกติอยูแลว ดังนั้นใหเราเลือก Frame แรกของ Layer
ใดก็ไดและเลือกเพียง Layer เดียวเทานั้น
31
รูป 1 Action Panel 3. สังเกตที่มุมบนซาย ตองเขียนวา Action – Frame เพราะเรากําลังจะสราง Action ที่ Frame ใหเราสังเกตตรงนี้ทุก ครั้งเพื่อปองกันการผิดพลาดในการใส Action <<<<<< อยาลืมดูตรงนี!้ การเขียน Script นั้นสามารถทําได 2 แบบ คือ การกดปุม Script Assist และไมกดปุม นั้นคือ หากเรากดปุม Script Assist จะเปนโหมดของผูชวยเขียน โดยที่เราไมตองเขียนเองทั้งหมด และ หากเราไมกดปุมดังกลาว จะกลายเปนโหมดที่เหมาะสําหรับโปรแกรมเมอรหรือผูที่มีความรู เพราะสามารถเขียนไดเองทุกอยางตามตองการ 4. กลับมาพิจารณาทางดานซายของ Action Panel ในสวนนี้เปนสวนของ Action สําเร็จรูป ลักษณะเปนรูปหนังสือ หลายเลม เหมาะสําหรับผูที่ไมคอยไดใช หรือผูที่เริ่มตน มาถึงตอนนี้เราตองการสรางคําสั่ง stop()
ใหเราเลือกที่
หนังสือที่เขียนวา “Global Functions” และตอดวยหนังสือยอยเขียนวา “Timeline Control” แลวเราก็จะพบกับ Action – stop (ตรงนี้ใหเราลากลงไปยังพื้นที่ที่ตองเขียน หรือดับเบิ้ลคลิกที่ stop ก็ได) 5. หลังจากนั้นใหลองปด Action Panel แลวสังเกต Frame ที่เราเลือกใส Action จะปรากฎตัวอักษร a เพื่อบอกให เราทราบวาไดสราง Action ไวที่ Frame ดังกลาว 6. เมื่อสามารถสั่งใหหยุดการทํางานไดแลว เราลองนําเอาความรูที่ไดจากการสรางปุมที่ผานมามาสรางปุมเพื่อให Animation ของเราทั้งเลนและหยุดไดกันดีกวา
32
7. เริ่มดวยการสรางปุม play และ stop (ออกแบบตามใจชอบ) ตามวิธีที่ผานมา เมื่อสรางเสร็จใหลากลง Stage ไปยัง ตําแหนงที่เราตองการ โดยเราตองสราง Layer ใหมขึ้นมาเพื่อรองรับการทํางานตรงนี้ดวย ในที่นี้ตั้งชื่อวา Layer Button 8. เมื่อไดตําแหนงที่ตองการเราเริ่มสราง ActionScript โดยเริ่มทีละปุมและเปด Action Panel สังเกตดานมุมซายของ Action Panel วาเปน Action – Button แลวเลือกที่คําสั่ง play จะพบวาที่บรรทัดของ Action จะมีคําสั่ง on (release) ซึ่งจะตาง กับ Frame Action เราเรียกวา Event นั่นเอง (ปุม stop ก็ทําเชนเดียวกันเพียงเปลี่ยนคําสั่งเปน stop) มารูจัก Event กันเถอะ Event คือ การกําหนดเหตุการณวาใหทําสิ่งใดกับปุม แลวจึงเกิด Action ซึ่ง Flash ไดกําหนดเหตุการณไวถึง 8 รูปแบบ ทดลองดูไดโดยการคลิกที่บรรทัด on (release)
มาดูกันดีกวาวาแตละ Event ทําอะไรไดบาง Event On (press) On (release) On (releaseOutside) On (keyPress) On (rollOver) On (rollOut) On (dragOver) On (dragOut)
การใชงาน ทํา Action ทันทีเมื่อผูใชคลิกบนปุม ทํา Action ทันทีเมื่อผูใชคลิกบนปุมแลวปลอยเมาสทันที ทํา Action หลังจากผูใชคลิกบนปุมแตไมปลอยเมาสดานนอกปุม ทํา Action เมื่อกดตัวอักษรบน Keyboard ที่กําหนดไว เชน “P” สั่งให Play ทํา Action ทันทีเมื่อผูใชเอาเมาสแตะปุม ทํา Action หลังจากที่ผูใชแตะปุมและดึงเมาสออกนอกปุม ทํา Action เมื่อผูใชคลิกบนปุมแลวลากออกนอกปุม จากนั้นลากเขาไปบนปุมอีกครั้ง ทํา Action เมื่อผูใชคลิกบนปุมแลวลากออกนอกปุม คลายกับ releaseOutside ตางกัน ตรงที่ dragOut จะทําทันทีที่ออกนอกปุม แต releaseOutside จะทําเมื่อออกนอกปุมและ ปลอยเมาสแลว
33
กรณีที่ตองการสั่ง Action ผานคียบอรดใหเลือกเครื่องหมายถูกที่ on (keypress) และกดปุมบนคียบอรดที่ตองการ สั่งงาน จะปรากฏคียบอรดนั้นขึ้นที่ชองดานหลัง
กรณีที่เราตองการกระโดดขามการทํางานใหไปทํางานที่ Frame นั้นๆทันที มีคําสั่งงายอยาง “goto” สามารถชวย ในการทํางานไดเปนอยางดี คําสั่ง “goto” เปนคําสั่งที่ผูใชกําหนดไดวา เมื่อผูใชกดปุมจะใหไปแสดงที่ Frame ไหนก็ได ดวยการใส Frame number ลงไป และยังถือวาเปนคําสั่งที่ใชมากที่สุดใน Flash อีกดวยซึ่งเราสามารถแบงคําสั่งนี้ได 2 แบบดวยกันคือ gotoAndPlay
ใหกระโดดไปอานที่ Frame นั้นๆและเลน Animation ตอ
gotoAndStop
ใหกระโดดไปอานที่ Frame นั้นๆและหยุดเลน
เราลองเอาคําสั่ง goto มาใชกับ Aniamtion ที่ผานมาดูวารูปแบบจะเปนอยางไรบาง
ดูจากรูปก็จะเห็นวาเราสามารถเลือกไดทั้ง gotoAndPlay และ gotoStop และสามารถกําหนด Frame ไดที่ชอง Frame:…. และในชอง Type เปนรูปแบบ goto วาสามารถทําอะไรไดบางโดยที่ 4 แบบไดแก Frame Number
กระโดดไปที่หมายเลข Frame ที่ตอ งการ
Frame Label
กระโดดไปที่ชื่อ Frame ที่ตองการ
Expression
กระโดดไปที่ Frame ที่ไดจากการคํานวณตามสูตรที่กําหนดขึ้น
Next Frame
กระโดดไปขางหนา 1 frame
Previous Frame
กระโดดถอยหลังไป 1 frame
34
** goto Frame จะใชในการสราง Presentation คอยขางบอย ดังนั้นถาเราจะใชจะตองจํา และตั้งชื่อ frame ซึ่งการ สรางชื่อ frame นั้นก็ไมยุงยาก เพียงเราเลือกไปยัง frame ที่ตองการแลวดูที่ Properties Panel ดานลาง เราสามารถตั้งชื่อได ตรงชองวางที่เขียนไววา ดังรูป
แคนี้เราก็สามารถสราง Animation หรือ Presentation อยางงายๆไดแลว ไมเพียงเทานี้ ยังมี event ของ MovieClip โดยมีรูปแบบการใชงานที่คลายกับ Button ที่กลาวมาขางตน ซึ่งมี ดังตอไปนี้ onClipEvent( event ){ statement; }
สวน event ของ MovieClip จะไมเหมือนกับของ Button ซึง่ มีรายละเอียดดังตอไปนี้ Event Load EnterFrame Unload Mouse down Mouse Up Mouse move Key down Key Up Data
การใชงาน ทํา Action ทันทีเมื่อโหลดคลิปเขาสูการทํางาน ทํา Action ทันทีเมื่อโหลดคลิปเขาสูเฟรม ทํา Action ทันทีเมื่อนําคลิปออกจากการทํางาน ทํา Action ทันทีเมือคลิกเมาส ทํา Action ทันทีเมื่อปลอยเมาส ทํา Action ทันทีเมื่อเมาสเคลื่อนที่ ทํา Action ทันทีเมื่อกดปุมบนคียบอรด ทํา Action ทันทีเมื่อปลอยปุยบนคียบอรด ทํา Action ทันทีเมื่อขอมูลเกิดการเปลี่ยนแปลง
35
Introduction to ActionScript2.0 About ActionScript2.0 • AS2.0 เปนภาษาเชิงวัตถุ (Object-Oriented Programming, OOP) •
AS2.0 เปนภาษาสคริปต
•
สคริปตที่ใช AS2.0 ในการนิยาม class หรือ interface จะถูกสรางเปนไฟลแยกตางหากอยูภายนอกดวยหนึ่ง class หนึ่งไฟล นั่นก็หมายความวา class และ interface ไมสามารถนิยามไดใน Actions Panel
•
สามารถ import ไฟลสคริปตได โดยใชคําสั่ง import หรือถาเก็บไฟลสคริปตที่ตองการ import ไวในที่ที่ถูก ระบุไวโดย global หรือ document-specific search path ก็จะสามารถนําไฟลคริปตมาใชไดทันที
•
Flash Player 6 ขึ้นไปเทานั้นที่จะรอบรับ Application ที่พัฒนาโดย AS2.0
•
คาปริยายในการสรางงานโดยใช Adobe Flash CS3 ถูกตั้งใหใช AS3.0
•
AS สามารถเขียนไดบน o o o
Frame Button Movie Clip
First Program: Hello World 1. คลิกเลือกที่ frame แลวกดปุม F9 เพื่อเปด Actions Panel ใหเขียน script บนเฟรม
2.
พิมพ trace(“Hello
World”);
ใน Actions Panel
36
3.
กด Ctrl + Enter เพื่อทดสอบ
การใส Comment •
// - เพื่อ comment บรรทัดเดียว
•
/* … */ เพื่อสราง block comment
Data Type
ชนิดตัวแปร •
Number –
คือตัวเลข
•
String –
ขอความ
•
Boolean –
•
Undefined –
•
Null – คาวาง
คาทางตรรกะ ไดแก
true
และ
false
ไมระบุวาเปนตัวแปรชนิดใด
การประกาศตัวแปร •
var ชื่อตัวแปร: data type;
ตัวอยางการประกาศตัวแปร var
a:Number;
คือการประกาศตัวแปรชื่อ a โดยใหมีชนิดตัวแปรเปน Number บางครั้ง
เราอาจจะกําหนดคาเริ่มตนใหกับตัวแปรโดย var
a:Number = 0;
คาเริ่มตนของ a ก็จะมีคาเปน 0
ในบางกรณีเราไมจําเปนตองกําหนดชนิดตัวแปรใหกับตัวแปร แตโปรแกรมจะกําหนดชนิดใหเมื่อไดรับการ assign คา ตัวอยางเชน var
b = “Hello World”; จะเห็นวาคาที่ assign ใหกับ b นั้นคือ String ดังนั้นชนิดตัวแปรของ b จึง
เปน String โดยปริยาย ภาษาคริปตอยาง ActionScript, PHP และ Perl ไมจําเปนตองมีการประกาศตัวแปร เราสามารถเรียกชื่อตัวแปรไดเลย เชน a
= 10; หากโปรแกรมของเราไมมีตัวแปรชื่อ a
มากอน คําสั่งเพียงแคนี้ก็จะถือวาเปนการประกาศตัวแปรดวยในตัว
การตั้งชื่อตัวแปร การตั้งชื่อตัวแปรควรสื่อถือสิ่งที่ตัวแปรนั้นเก็บอยู โดยจะมีกฎในการตั้งชื่อตัวแปรดังตอไปนี้ •
ชื่อตัวแปรจะตองประกอบไปดวย อักษร, ตัวเลข, เครื่องหมาย _ และ $ เทานั้น
37
•
อักษรแรกของชื่อตัวแปรนั้น จะตองไมเปนตัวเลข
•
ไมควรตั้งชื่อตัวแปรที่เหมือนกับ keyword ของ
•
ไมควรตั้งชื่อตัวแปรซ้ํากัน
Function
flash เชน string, true หรือ var
ที่เกี่ยวของกับชนิดของตัวแปร
หากเราตองการตรวจสอบวาตัวแปรตัวใดตัวหนึ่ง เปนตัวแปรชนิดใด เราสามารถใช typeof(varName
or value)
เชน var a = 1.1; trace(typeof(a));
ผลที่ไดคือ number
หรือหากตองการที่จะแปลงชนิดของตัวแปร ก็สามารถใชคําสั่ง dataType(varName
or value) เชน
var s:String = "1.1"; trace(s + " is a " + typeof(s)); n = Number(s); trace(n + " is a " + typeof(Number(n)));
ผลที่ไดคือ 1.1 is a string 1.1 is a number
การอางถึงตัวแปรใน Movie Clip Movie Clip เปน object ชนิดหนึ่งใน Flash สามารถมีตัวแปรที่ใชภายใน และอนุญาตใหภายนอก เรียกใชตัวแปรที่อยู
ภายในนั้นได โดยใชงานไดโดย instanceName.varName ตัวอยางเชน Movie Clip หนึ่ง เราตั้ง instance name ไว วา
mc_clip
และมีตัวแปรภายในชื่อวา
s
การเรียกใชตัวแปรจากภายนอก ทําไดดังนี้
mc_clip.s
หากมี Movie Clip ซอนกันหลายชั้น ก็สามารถเรียกตัวแปรไดโดยวิธีเดียวกัน โดยเรียก instance name ชั้นนอกสุดกอน ตามดวย dot notation ( . ) ตามดวย instance name ลําดับถัดไป จนถึงชั้นของตัวแปร ตัวอยางคือ name1.name2.name2.varName
ในทางกลับกัน หากใน movie clip ตองการเรียกใชตัวแปรจากภายนอก สามารถทําไดโดยเรียก _root ซึ่งเปนการอาง ถึงลําดับชั้นนอกสุด เชน _root.varName
38
Expression
เครื่องหมายการคํานวณ +
เครื่องหมายบวก c = a + b;
-
เครื่องหมายลบ c = a – b;
*
เครื่องหมายคูณ c = a * b;
/
เครื่องหมายหาร c = a / b;
%
เครื่องหมาย mod (การหารเอาแตเศษที่เหลือ) c = 5 % 4; //c = 1
++
การเพิ่มคาทีละหนึ่ง
การเพิ่มคาทีละหนึ่งสามารถทําไดสองวิธี คือการนํา operator ไวหนาตัวแปร var a = 0; var b = 3; var c = a + ++b; trace("c = " + c); trace("b = " + b);
การดําเนินการคือจะเพิ่มคาใหกับตัวแปรกอน แลวจึงทํา operation อื่นๆ ตอไป ซึ่งจะไดผลคือ c = 4 b = 4
ซึ่งจะมีผลแตกตางจากการนํา operator ไวหลังตัวแปร var a = 0; var b = 3; var c = a + b++; trace("c = " + c); trace("b = " + b);
ไดผลคือ c = 3 b = 4
39
จะสังเกตวาตัวแปร b จะทําการคํานวณอื่นๆ กอนแลวจึงเพิ่มคาตัวเอง --
การลดคาทีละหนึ่ง
การลดคาก็มีความคลายคลึงกับการเพิ่มคาใหกับตัวแปร กลาวคือ มีทั้งการวาง operator ไวหนาตัวแปร และหลังตัวแปร ซึ่งจะดําเนินการเชนเดียวกัน var a = 0; var b = 3; var c = a + --b; trace("c = " + c); trace("b = " + b);
ไดผลคือ c = 2 b = 2
และ var a = 0; var b = 3; var c = a + b--; trace("c = " + c); trace("b = " + b);
ซึ่งไดผลคือ c = 3 b = 2
40
คําสั่งควบคุมการทํางาน(Control Structure) เพื่อใหการทํางานนั้นมีประสิทธิภาพมากตามความตองการของผูเขียนโปรแกรมหรือผูใชงานนั้น จําเปนที่จะตอง กําหนดทิศทางการทํางานของโปรแกรม เพื่อใหการทํางานเปนไปตามความตองการของเรา โดยมีคําสั่งสําหรับการควบคุม การทํางานดังตอไปนี้ if…else if…else
เปนคําสั่งแบบมีเงื่อนไข (condition) ซึ่งจะกระทําตาม
เงื่อนไขที่กําหนดไว จากแผนภาพขางขวา โปรแกรมจะตรวจสอบคา condition ที่กําหนดไว หากมีคาความจริงเปนจริง โปรแกรมจะทํางานตาม statement1
แตหากคาความจริงเปนเท็จ โปรแกรมจะทํางานตาม
statement2 ซึ่งจะมีคําสั่งตอไปนี้ if( condition ) { Statement1; } else { Statement2; }
switch switch นั้นจะเลือกกิจกรรมโดยขึ้นอยูกับคาของตัวแปรที่ไดกําหนดเอาไว switch( variable ){ case value1: statement1; break; case value2: statement2; break; … default: statementn; }
while loop while จะเปนการทํางานวนซ้ําอยูภายใตเงื่อนไข หากเงื่อนไขนั้นมี
คาเปนจริง จะกระทําตาม statement ที่ไดกําหนดเอาไว แตหากมีคาเปน เท็จ จะออกจากการทํางานวนซ้ํา ทันที จะมีรูปแบบการใชงานดังตอไปนี้ while( condition ){ statement; }
41
do…while do while นั้นจะทํางานตาม statement กอนแลวจริงจะตรวจสอบเงื่อนไข
หากเงื่อนไขนั้นเปนจริง โปรแกรมจะกลับไปทํางานตาม statement กอน แตหากคาเปน เท็จ โปรแกรมจะหยุดการวนซ้ําและออกจากการทํางาน จะมีรูปแบบการใชงานดังตอไปนี้ do { statement; } while ( condition )
for for จะทํางานโดยเริ่มแรกนั้น จะมีการกําหนดคาเริ่มตนกอน
(init) แลวจะเขาสูการทํางานวนซ้ํา โดยจะตรวจสอบเงื่อนไข
(condition)กอน หากวาเงื่อนไขดังกลาวมีคาเปนจริง จะทํางานตาม statement กอน แลวเมื่อเสร็จแลว จะเปลี่ยนแปลงคาตางๆ (next) แลวจึง
เขาตรวจสอบเงื่อนไขอีกครั้ง หากมีคาเปนเท็จ โปรแกรมจะออกจากการ ทํางานวนซ้ํานี้ทันที for( init ; condition ; next ) { statement; }
คําสั่งเพิ่มเติม •
Exp1 ? Exp2 : Exp3; จะเปนการกําหนดคาของตัวแปร
โดยอาศัยเงื่อนไขในการกําหนดคาของตัวแปร
โดยที่ o
Exp2 จะทํางานก็ตอเมื่อ Exp1 เปนจริง
o
Exp3 จะทํางานก็ตอเมื่อ Exp1 เปนเท็จ
จะเห็นไดวา การกําหนดนี้ จะมีลักษณะที่คลายกับการใชชุดคําสั่ง If-else •
break; จะหยุดการทํางาน ทันที เมื่อเจอคําสั่งนี้
•
continue;
เมื่อเจอคําสั่งนี้ จะกลับไปตรวจสอบเงื่อนไขการทํางานได
42
function ฟงกชั่น(function) คือชุดคําสั่งที่ใชในการทํางานโดยเฉพาะ ซึ่งอาจจะรับคาที่ฟงกชั่นตองการหรือที่เรียกวา argument มาดวยเพื่อการทํางานของฟงกชั่น แลวอาจจะมีการสงคาที่ไดจากการทํางานคืนดวย
โปรแกรม flash ไดเตรียมฟงกชั่นมาตรฐานไวแลวใน Action Toolbox เพื่อใหผูใชสามารถนํามาใชงานไดอยาง รวดเร็วและสะดวกมากยิ่งขึ้น นอกจากนี้แลว ผูใชยังสามารถสรางฟงกชั่น เพื่อการใชงานที่ตรงกับความตองการของตนเอง
การสรางฟงกชั่น function name(args:dataType):dataType { statement; return variable; }
โดยที่ •
name
แทนชื่อฟงกชั่นที่เราตองการจะสราง โดยยึดหลัก
•
args
แทนลักษณะของคาที่ฟงกชั่นตองการใชในการทํางาน
•
statement
แทนการทํางานของฟงกชั่น
•
variable
แทนคาหรือตัวแปรที่ฟงกชั่นจะตองคืนคาใหแกผูใช
การเรียกใชฟงกชั่น การเรียกใชฟงกชั่น จะมีรูปแบบการเรียกดังตอไปนี้ name( value/variable );
การใชฟงกชั่นในการทํางานซ้ํา อาจจะมีบางครั้งที่ฟงกชั่นนั้นๆ จําเปนที่จะตองถูกใชหลายครั้ง โดยมีการเรียกใชในรูปแบบเดียวกัน ซึ่งหากใช คําสั่ง while
do-while
หรือ for อาจจะเกิดความซ้ําซอนได จึงมีคําสั่ง setInterval ซึ่งมีรูปแบบการเรียกใช
ดังตอไปนี้ setInterval( functionname, intervalTime, args);
โดยที่ •
functionname เปนชื่อฟงกชั่นที่จะนํามาใช
•
intervalTime เปนความถี่ในการทํางานซ้ํา(หนวยเปน มิลลิวินาที)
•
args เปนพารามิเตอรของฟงกชั่นที่จะใช
43
คลาส พรอพเพอรตี้ และเมธอดที่สําคัญ จากที่กลาวไวในเรื่องของฟงกชั่นมากบาง โปรแกรม flash นั้นไดกําหนดคลาส พรอพเพอรตี้ และเมธอดที่สําคัญ ไวใหผูใชสามารถใชงานไดอยางรวดเร็วและสะดวก ซึ่งเราสามารถคนหาไดจาก Action Tool โดยมีคลาส พรอพเพอรตี้ และเมธอดที่สําคัญ ที่เราควรจะรูจักดังตอไปนี้
ฟงกชั่นควบคุมการเลนภาพยนตร •
gotoAndPlay() สั่งใหกระโดดไปยังเฟรมที่ตองการแลวเลนตอ
•
gotoAndStop() สั่งใหกระโดดไปยังเฟรมทีต ่ องการแลวหยุด
•
nextFrame()
สั่งใหกระโดดไปยังเฟรมที่อยูถัดตอไป
•
nextScene()
สั่งใหกระโดดไปยัง Scene ตอไป
•
play()
•
prevFrame()
สั่งใหกลับไปยังเฟรมกอนหนานี้
•
prevScene()
สั่งใหกลับไปยัง Scene กอนหนานี้
•
stop()
•
stopAllSounds()
สั่งใหเริ่มเลนตอไป
สั่งใหหยุด สั่งใหเสียงทั้งหมดหยุดเลนลง
คลาส TextField •
length
แสดงความยาวหรือจํานวนอักขระของขอความที่อยูใน TextField
•
maxChars
กําหนดความยาวหรือจํานวนอักขระสูงสุดที่เราตองการ
•
_rotation
กําหนดหรือบอกถึงคาการหมุนของ TextField(ในหนวยองศา)
•
selectable
กําหนดใหขอความใน TextField นี้สามารถเลือกทําแถบดําได
•
text
กําหนดหรือแสดงขอความที่อยูใน TextField
•
_visible
กําหนดใหขอความใน TextField นี้สามารถมองเห็นไดหรือไม
•
_x
ตําแหนงพิกัดแนวนอนของขอความ นับจากซายไปขวา
•
_y
ตําแหนงพิกัดแนวตั้งของขอความ นับจากลางขึ้นบน
การเก็บคาจากขอความใน textfield ไวในตัวแปร 1. กําหนดชื่อตัวแปร string เพื่อใชสําหรับเก็บขอความในชอง var 2.
กําหนดชื่อตัวแปร text field instance แลวเรียกใชโดยผาน textfield.text
44