เรียนรู้ action script เบื้องต้น - wordpress.com ·...

Post on 08-Mar-2020

1 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related