เรียนรู้ Action Script เบื้องต้น - WordPress.com ·...
Transcript of เรียนรู้ Action Script เบื้องต้น - WordPress.com ·...
121
บทท 7 เรยนรAction Script เบองตน
การใส ActionScript หรอทเราเรยกยอๆวา “การใสแอคชน” เปนการใสชดคาสงทเราเรยกวา
“สครปต” ซงเราใชชดคาสงนในการควบคมวตถหรอเฟรม ใหสามารถตอบโตหรอแสดงผลบางอยางเมอเกด
เหตการณ (จากใสแอดชน) เหลานขนเชน
-เมอเรา Playhead วงไปถงเฟรมทมการใสแอคชน จะเกดผลตามทกาหนด
-เมอผใชคลกทปมกด จะเกดผลลพธทตามทกาหนด
-เมอผใชกดปมบนคยบอรด จะเกดผลลพธตามทกาหนด
เราเรยกเหตการณนวา “Event” ซงเปนเหตการณททาใหเกดผลลพธหรอการเปลยนแปลงบางอยาง
ขนเชน คลกกเมาสแลวเกดเสยงเพลง เปนตน เหตการณหรอจดเปลยนแปลงเหลานจะเปนจดทเราจะใส
แอคชนใหกบมฟวของเราไวจากชดคาสงทโปรแกรมเตรยมไวใหนนเอง
เราสามารถกาหนดแอคชนเหลานใหกบเฟรม หรอ ใหกบวตถกไดผานพาเนล Actions ซงพาเนล
เหลานจะม2แบบดวยกนคอ “Object Actions สาหรบใชกาหนดแอคชนใหกบวตถ” และ “Frame Actions
สาหรบใชงกาหนดแอคชนใหกบเฟรม” ซงทงสองจะมรปแบบเหมอนกน ดงรป (สามารถเรยกใชงานพาเนล
Actions ไดจากเมนคาสง Window > Actions หรอกดคย <F9> )
Frame Actions กาหนดแอคชนใหกบเฟรม Object Actions กาหนดแอคชนใหกบวตถ
122
เนองจากพาเนลของ Opject Actions และ Frame Actions มสวนประกอบทเหมอนกน ดงนนเราจงอธบายสวนประกอบของหนา Object Actions และ Frame Actions รวมกนดงน
วธการเรยกใชสครปตในพาเนล Actions วธการเรยกใชสครปตในพาเนล Actions หรอการใสแอคชนใหกบมฟวนน มวธการเขยนผานโหมด
การทางาน 2 โหมด คอ Script Assist และ Expert ซงเราสามารถสลบไปมาตามความถนดได โดยวธสลบ
โหมดการทางาน ทาไดโดยคลกทปม เมอถกกดจะเขาสโหมด Script Assist และเมอกดปม ออกจะกลบสโหมด Expert ดงเดม
ปม Script Assist สาหรบเขาสโหมดผชวย
Actions Toolbox เกบคาสงๆทเปนภาษา ActionsScript.ใช
เพมคาสงแอคชนในหนาตางขวามอ
Script Navigator แสดงรายละเอยดคาสงในตาแหนงตางๆของชนงานของเรา
คลกทตาแหนงใดจะแสดงสครปตนนๆในชอง Script panel
Script panel เปนทสาหรบใหเรา
ใส Code ของโปรแกรม
123
โหมด Expert
โหมด Script Assist
124
ทงสองโหมดการทางานน มขอแตกตางกนและวธการเขยนสครปตทตางกน ดงน
การใสแอคชนดวยการเรยกค าสงจากผชวยในโหมด Script Assist
โหมด Script Assist เปนโหมดผชวยเขยนสคปต เราสามารถเขยนคาสงโดยการเลอกจากรายการ
คาสงทถกจดเตรยมไวให สวนคาขอมลตางๆ ทจา เปนสาหรบบางคาสงกจะมของวางใหเรากรอกคาทจะ
กาหนดลงไปไดเลย วธนจงงายสาหรบการเขยนโคดและเกดขอผดพลาดไดยาก เพราะเราไมไดพมพคาสงเขา
ไปเองโดยม 2 วธในการเขาสการเขยนสครปตดงน
วธท 1 เลอกสครปจากเมนใน Script panel Toolbar
ใหคลกเลอกเมาสทเครองหมาย ใน Script panel Toolbar จะเกดเมนขนมาใหเลอกแอคชนท
เราตองการ
คลกเมาสแลวเลอกแอคชนทตองการ
125
วธท 2 เลอกคลปจากเมนใน Actions Toolbox
หากแอคชนใดทเราเลอกตองการขอมลเพมเตมกจะปรากฏแบบฟอรมใหกรอกรายละเอยดเหลานนเขาไปดวย
คลกเมาสเลอกหมวดแอคชนใน Toolbox list เพอใหแสดงแอคชนตางๆทมอยในกลมนนแลวดบเบลคลกเลอกแอคชนทเราตองการ
สงเกตวาแอคชนจะถกเขยนลงไปอตโนมต
กาหนดคาเพมเตม
126
การใสแอคชนดวยการเขยนค าสงในโหมด Expert
ในโหมด Expert นเราสามารถจะเขาไปเขยนคาสงตางๆ ไดโดยตรงใน Actions panel ดานขวาซง
เราสามารถจะใสหรอแกไขคาตางๆ ไดโดยตรงในโคดโปรแกรม หรอจะใชงานรวมกนการเลอกแอคชนจาก
รายการใน Actions Toolbox ดานซายเหมอนทเคยทาโหมด Script Assist กได
การก าหนดแอคชนใหกบวตถ
เปนการใสแอคชนใหกบวตถของเรา ซงสวนใหญจะเปนปมกด (เปนอนแตนซชนด Button) โดยจะ
ตอบสนองตอการคลกเมาสหรอจากการกดคยหนงๆบนคยบอรด เราสามารถกาหนดแอคชนใหกบปมกดไดดง
ตวอยาง
สรางปมกดเพอจะกาหนดแอคชน แลวเปดพาเนล Actions ขนมา
127
ใหคลกเลอกปมกดทเราสรางขน เพอเรยกพาเนลของ Object Actions ขนมาแลวกาหนดแอคชนทตองการได
ก าหนดแอตชนใหกบเฟรม
กาหนดแอตชนใหกบเฟรมของเรา เมอ Playhead วงมาถงเฟรมทมการกาหนดแอคชน กจะมรการ
แสดงคาสงตางๆ ทกาหนดไวในเฟรมนน การเขยนแอคชนในเฟรมควรสรางเลเยอรตางหากขนมา เพอปองกน
ความสบสนในการทางานและชวยใหงายตอการจดการและการแกไข เราสามารถสงเกตเฟรมทใสแอคชนไว วา
จะมตว a ทดานบนของเฟรม สาหรบการกาหนดแอคชนใหกบเฟรมทาไดดงตวอยางตอไปน
1. คลกเลอกเฟรมทจะกาหนดแอคชนในหนาไทมไลน
128
2. กาหนดแอคชนทตองการ ซงจะคลายกบหนาตาง
Object Actions มาก แตตางกนตรงทแอคชนท
กาหนดนมผลกบเฟรมทเราเลอกไว
3.หลงการใสแอคชนจะแสดงตว
a ในเฟรมทมสครปต
129
รจกกบแอคชนพนฐาน
Flash ไดบรรจคาสงไวอยางเปนหมวดหมใน Global Fuctions ซงเปนคาสงพนฐานทมกจะใชกน
บอย ในการสรางงานทโตตอบกบผใช และชวยใหผลงานของเรานาสนใจมากยงขน โดยคาสงทใชบอยๆมดงน
Global Function ค าอธบาย goto ใหไปแสดงเฟรมหรอซนทเราตอง play ใหแสดงงานแอนเมชน stop ใหหยดเวลาแสดงแอนเมชน stopAiSounds หยดการเลนเพลงทงหมด getURL เปนการสงใหเปดบราวเซอรเพอใชลงคกบเวบเพจ fscommand เปนคาสงทใชควบคมการแสดงผลของ Stand Alone Player loadMovie ใหโหลด Flash movie ทมการสรางไว unloadMovie เปนการยกเลกการโหลด Flash movie มกใชคกบ loadmovie on ใชกาหนดเหตการณและรบคาจากการกดคยบอรดหรอการคลกเมาส การใชค าสง goto คาสง goto เปนคาสงทสงใหไปแสดงเฟรมทเราตองการ โดยปกตเราจะเหนวาการเลนแอนเมชนของเราจะเปนแบบวงไปตามเฟรมโดยเรมจากเฟรมแรกและวงไปเรอยๆ ทละเฟรม แตเมอใชคาสง goto เราให สามารถสงเลนเฟรมท 10 โดยทไมตองเลนเฟรมท 1 กได หรอสงใหเลนถงเฟรมท 10 แลวใหกระโดดไปเลนเฟรม 20 กได เมอเราดบเบลคลกทคาสง goto จะมคาสงทใหเรากาหนดดงน
130
Scene การก าหนดวาเราตองการจะไป Scene ไหน (ใชกรณทเราสรางแฟลชมฟว Flash movie มากกวา 1 Scene)
Type Frame Number Frame Label
Expression
Next Frame Previous Frame
เปนการกาหนดรปแบบของ goto วาจะเปนแบบไหน ซงมเงอนไข 5 แบบ คอ เปนการกาหนดใหใสตวเลขวาตองการไปยงเฟรมทเทาไร เปนการกาหนดใหใสชอของเฟรม (การใชวธนกเพอปองกนการอางองผดเฟรมกรณทเรามการเพมหรอลดเฟรม ทาใหตองเปลยนหมายเลขเฟรมใหม) เปนการคานวณคาใหไดเฟรมทตองการ เชน goto (2+3) คอคาสงใหไปยงเฟรมท 5 หรอ goto (Y+1) เปนตน (กรณ Y เปนตวแปรทถกกาหนดขน) เปนการสงใหไปยงเฟรมถดไป เปนการสงใหไปยงเฟรมกอนหนา
Frame เปนการกาหนดวาตองการจะไปเฟรมไหน ซงอาจจะอยซนเดยวกนหรอตางซนกได Go to and play เปนการกาหนดวาเมอกระโดดขามเฟรมแลวใหเลนเฟรมนนตอไป Go to and stop เปนการกาหนดวาเมอกระโดดไปยงเฟรมใดกหยดทเฟรมนเลย
เมอดบเบลคลกท goto จะปรากฏคาสงสาหรบการปรบรายละเอยด
131
การรบคาจากเมาสและคยบอรด (On Mouse Event) ทกครงทเราทางานกบปม เราตองกาหนดเหตการณ (Event) ใหมนทกครงโดยการคลกเมาสปมขวาทปม แลวเลอกคะสง Actions ดบเบลคลกท On ในหมวด Movie Clip Control เราจะเหนตวเลอกตางๆดงรป ซงแตละตวเลอกมความหมายดงตอไปน
Press เปนค าสงทรบคาจากการคลกเมาสปมซาย Release
เปนคาสงทรบคาหลงจากปลอยนวออกจากการคลกเมาสปมซาย (เมอเราเขยนสครปต เราจะเหนวามคาสง On(Release) ขนอยเสมอแสดงวาสครปของเราเกยวของกบการกดเมาส
Release Outside
เปนคาสงทรบคาหลงจากปลอยนวจากการคลกเมาสปมซายแตเปนการปลอยนอกปมกด
KeyPress เปนการใชการกดปมบนคยบอรดแทนในการคลกเมาสและสามารถใชปมนนแทนการคลกเมาสได
RollOver เปนการตรวจสอบเมอเมาสเลอนมาในปมกด RollOut เปนการตรวจสอบเมอเมาสเลอนมานอกในปมกด Drag Over เปนการคลกเมาสคางไวแลวลากเขามาในปมกดแลวจงปลอย Drag Out เปนการคลกเมาสคางไวแลวลากเขาออกนอกปมกดแลวจงปลอย
132
ค าสง stopAllSounds หยดเสยงทงหมดทเลนอย เปนคาสงทหยดการเลนเสยงทงหมด ไมวาเปนเพลงประกอบหรอเสยงเอฟเฟคทกาลงเลนอยขณะนน
โดยในตวอยางน เราสรางปมกดเพอทาการเลนเพลง 2 ปม และเลนหยดเพลงอก 1 ปม โดยใชคาสง
stopAllSound ในการหยดเสยงทงหมดของแอนเมชนทเรากาหนดไว โดยใหปม Play Song 1 เปนปมทเลน
เพลงท 1 และอกปม Play Song 2 เปนปมทเลนเพลงท 2 เมอมการกดปมใดปมหนงกจะมการเลนเพลงหรอ
ถากดทง 2 ปมกจะมการเลนเพลงทง 2 เพลงพรอมกน และเมอใดเรากดปม Stop All Sound กจะหยดเพลง
ทงหมด
เราสามารถใชคาสง StopAllSounds ในการหยดเพลงทงหมด มวธการดงน
ขนตอนท 1 เตรยมปมสาหรบเลนเพลงและสงหยดเพลง
ขนตอนท 2 สรางปม Play Song1 ใหเลนเพลงเมอมการกดปม
ขนตอนท 3 สรางปม Play Song2 ใหเลนเพลงเมอมการกดปม
ขนตอนท 4 สรางปม Stop All Sound ใหหยดเลนเพลงเมอมการกดปม
ขนตอนท 1 เตรยมปมสาหรบเลนเพลงและสงหยดเพลง
สรางปมกดขนมา 3 ปมโดยกาหนดใหเปนซมบอลแบบปมกด (Button) และ Import เพลงเขามา 2
ใน Library เพอเกบไวเรยกใชงานตอไป
คลกปม Play Song1 จะเปนการสงใหเลนเพลงท 1
คลกปม Stop All Sound จะเปนการสงหยดเลนเพลง
คลกปม Play Song2 จะเปนการสงใหเลนเพลงท 2
133
1.สรางปมขนมา 3 ปม
2.เลอกเมนคาสง File>Import to Librery
134
แสดงไฟลทเลอกเกบไวในไลบาร
3.คลกเลอกไฟล 2 ไฟลจากนนกดป ม Open เพอใชงาน
135
ขนตอนท 2 สรางปม Play Song1 ใหเลนเพลงเมอมการกดปม
ดบเบลคลกทปม Play Song1 สงเกตไดวาเฟรมจะแสดงในลกษณะตางๆ ของปมกดไดแก Up Over
Down และ Hit จากนนใหเพมเฟรมทถกสถานะสดทายของปม (สถานะ Hit) เพอใหภาพปมแสดงไปถงสถานะ
Hit แลวสรางเลเยอรสาหรบเสยงขนมา จากนนกาหนดใหสถานะเขาสโหมดการแกไขซมบอล Down มการ
เลนเพลงดวยการ Insert Key Frame โดยเลอกไฟลเสยง ดงน
1.ดบเบลคลกป มPlay Song1
เพอท างานกบป มแรก
2.คลกเมาสขวาทสถานะ
Hit แลวเลอก Insert Frame
3.คลกเมาสสรางเลเยอรใหมขนมา
4.คลกเมาทขวาในชอง Down แลวเลอก Insert Keyframe
5.ลากเมาสไฟลมาวางในสเตจ
136
ขนตอนท 3 สรางปม Play Song2 ใหเลนเพลงเมอมการกดปม
เราสามารถทางานไดในลกษณะเดยวกบปมแรก แตใหเลอกไฟลเสยงเปน song2.mp3
ขนตอนท 4 สรางปม Stop All Sound ใหหยดเลนเพลงเมอมการกดปม
สาหรบขนตอนน เราจะนาสครปตคาสง stopAllSounds มาชวยในการหยดเสยงเพลง ดงน
6.คลกเมาสออกจากการแกไขซมบอลเพอกลบสสเตจ
1.คลกขวาทปม Stop All Sound แลวเลอกคาสง Actions
2.คลกเลอกคาสง stopAllSounds จากหมวด Timeline Control
137
เราสามารถกดทดสอบไดโดยกด <Ctrl+Enter> หรอเลอก Control> Test Movie
การใชค าสง getURL
คาสง getURL สามารถทาการเชอมโยงกบเวบเพจ และยงสามารถทจะสงคาทไดเพอนาไปใชงานใน
การประมวลผลตอไปโดยใช ASP หรอ CGI กไดเปดหนาตางการใชงานคาสงจากเมน Window > Actions
แลวเลอกหมวด Browser/Network ดบเบลคลกเลอก getURL จะมรายละเอยด ดงน
138
สวนประกอบ ค าอธบาย URL ใชระบตาแหนงของเวบเพจทเราจะเชอมโยง Window เปนสวนทจะใชในการเรยกหนาตางของ Browser วาจะใหเปนลกษณะไหน ซงม 4 ลกษณะ
_self เปดหนาเวบทจะลงคไปหาเฟรมเดม _blank เปดหนาเวบทจะลงคไปหาในหนาบราวเซอรใหม _parent เปดหนาเวบทจะลงคไปหาในหนาบราวเซอรเดม _top เปดหนาเวบทจะลงคไปหาในหนาบราวเซอรเดม โดยจดใหเตมเฟรม
Variable เปนการสงคาตวแปรใหกบเวบเพจทเราเชอมโยงดวย การสงคาตวแปรนจะเปนการสงคาใหกบ ASP หรอ CGI ในหนาเวบเพจนน ซง Flash ไดกาหนดวธการเชอมโยงไปยงเวบเพจนนอยางเดยว Don’t send ไมสงคาตวแปรแตเปนการเชอมโยงไปยงเวบเพจนนอยางเดยว Sent using GET สงคาตวแปรในลกษณะ Text File โดยสงคาตวแปรไปใหกบ ASP หรอ CGI ดวยวธการถายขอมลจากแบบฟอรมไปทงหมด Sent using POST สงคาตวแปรลกษณะ Text Flie โดยสงคาตวแปรไปใหกบ ASP หรอ CGI ดวยวธการสงไปทละบรรทด
คาสง getURL
139
ตวอยาง การใชค าสง getURL ในการเชอมโยงกบเวบเพจ
ตวอยางนใชคาสง getURL เชอมโยงกบเวบเพจโดยเราจะสรางปมเพอเชอมโยงกบหนาเวบเพจตามท
เรากาหนดไว
1.สรางปม ใสขอความ “GoTo”
2.ทหนาตาง Actions ดบคลกคาสง getURL
2.1 พมพชอ URL ลงไป
2.2 กาหนดเปน _self
140
คลกทปม Go To เพอลงคไปหนาเวบทกาหนด
แสดงหนาเวบไซตทกาหนด www.google.co.th
141
ค าสง fscommand ชวยควบคมการแสดงผล
การเรยกใชงานคาสง fscommand เปนคาสงทชวยควบคมการแสดงผลของไฟล swf (เรยกใชไฟล
swf โดยตรง) เชน จะใหแสดงผลเตมหนาจอหรอไม จะใหแสดงเมนเมอเราคลกเมาสปมขวาหรอไม คาสงนจะ
อยในหมวด Browser/Network เมอดบเบลคลกทคาสง fscommand จะปรากฏตวเลอกตางๆ ดงน
สวนประกอบ ค าอธบาย Command เปนชองรบคาสงจากชอง Commands for stand alone player Parameters เปนชองกาหนดใหแสดงผลตามชอง Command มตวเลอกคอ ture และ false Commands for stand alone player fullscreen allowscale showmenu trapalkeys exec quit
เปนคาสงใชในการกาหนดการแสดงผลของ Flash movie กาหนดใหแสดงเตมหนาจอหรอไม กาหนดใหหนาจอขยายตาม Flash movie ทเราสรางหรอไม กาหนดใหเมน เมอเราคลกเมาสขวาหรอไม กาหนดใหตรวจสอบการกดคยใดๆระหวางการแสดงผลหรอไม กาหนดให Flash movie เรยกโปรแกรมอนออกมาแสดง โดยใสชอโปรแกรมในชอง Parameters กาหนดให Flash movie สามารถปดตวเอง
คาสง fscommand