32
1 Flash ActionScripts

สัปดาห์ที่ 1

Embed Size (px)

Citation preview

1

Flash ActionScripts

2

ActionScript

คอ ภาษาสครปตชนดหนง ซงเปนภาษาทใชในการสรางใหมฟวในโปรแกรม Flash สามารถทางานในรปแบบ Interactive เชน ตอบสนองตอการคลกเมาส หรอการกดแปนพมพ เปนตน

Presenter
Presentation Notes
ActionScript เปนภาษาแบบ object-oriented ซงดคลายกบภาษา C หรอ Java แตภาษาทใกลเคยงมากทสดไดแก JavaScript(ซงเปนภาษาสลปตทางฝงไคลเอนต)

3

การเคลอนไหวแบบทวนกบการเขยนสครปต

แบบทวน การเคลอนไหวจะอาศยการคอยๆเปลยนภาพในแตละเฟรม

ใช ActionScritp เปนการใชคาส ง ส งการเคลอนไหวของรปภาพทเปนตวแทนของซมบอล

4

การสรางภาพเคลอนไหวแบบ Tween

Presenter
Presentation Notes
แบบทวน หากตองการใหการเคลอนไหวเปนเวลานาน กจะตองมจำนวนเฟรมมากตามไปดวย ขอดคอ สามารถสรางการเคลอนไหวทซบซอนไดงาย ขอจำกด ไมสามารถสรางการเคลอนไหวแบบสม และไมสามารถควบคมการเคลอนไหวขณะแสดงผล

5

การสรางภาพเคลอนไหวแบบ ActionScript

Presenter
Presentation Notes
ActionScript ไมเกยวของกบเฟรม เราสามารถสรางวตถไวในเฟรมเดยว แตสงใหเคลอนทอยางไมรจบ หรอจะใหเคลอนไหวแบบสม หรอตามการควบคมขณะแสดงผลได ขอเสยคอ หากตองการสรางการเคลอนไหวอนซบซอนจะตองใชการคำนวณทซบซอนมาก

6

หนาตาง Action Actions Toolbox

Script navigator

Script panel Toolbar

Presenter
Presentation Notes
ภายในหนาตาง Action จะประกอบดวย 2 สวนหลกๆ ดวยกนคอ 2.1 Script Panel ซงเปนพนทสำหรบการเขยนสครปตตางๆ ลงไป 2.2 Actions Toolbox เปนทบรรจคำสงทงหมด 2.3 Script navigator ทำใหทราบวากำลงเขยน ActionScript อยในตำแหนงใดของ ชนงาน

7

การเขยนคาส งในหนาตาง Action

การเขยนคาสงในหนาตาง Actions ทาได 2 โหมด คอ

Script Assist Expert Mode

วธการสลบการทางานของ 2 โหมด คอ การคลกเลอกทป ม

8

การใชงาน Script Assist

เปนโหมด Script Assist เราสามารถเขยนคาสงตางๆ โดยการเลอกจากรายการคาสงทจดเตรยมไวให และมชองสาหรบการกาหนดคาพารามเตอรในบางคาสง

Presenter
Presentation Notes
ขอด งายสำหรบการเขยนโคด และเกดขอผดพลาดไดยาก เพราะไมไดพมพคำสงเขาไปเอง เชน 1 เลอก Global Functions ->Movie Clip Control->enterFrame 2 เลอก Statement->Condition/Loop->if และพมพเงอนไขในชองทกำหนด this._x < 300 3 เลอก Global Properties->Identifiers->this และพมพเงอนไขทตองการ this._x += 10

9

การใชงาน Expert Mode

ในโหมด Expert นเราสามารถจะเขยนคาสงตางๆ ใน Script panel ดานขวา ซงเราสามารถจะใส หรอแกไขพารามเตอรตางๆ ไดโดยตรงในโคด หรอจะใชงานรวมกบ Actions Toolbox กได

10

การใชงานเครองมอสาหรบเขยน Script

1. สแสดงไวยกรณ Foreground (เชน { , ( , :,=) จะเปนสดา Keywords (เชน var , function) นาเงน Identifiers (เชน object , function) นาเงน Comments (คาอธบายสครปต) สเทา String (เชน “Hello”) สเขยว

11

การใชงานเครองมอสาหรบเขยน Script

2. การบอกใบสาหรบคาสง ขณะทเราทาการพมพสครปตทสอดคลองกบ

คาสงใน ActionScript โปรแกรมจะบอกใบ รปแบบการใชงานคาสง นน หรอ พมพชอ object กจะปรากฏเมนใหเราเลอก method หรอ Properties ของ object

12

การใชงานเครองมอสาหรบเขยน Script

ตวอยางการบอกใบสาหรบคาสง

13

การใชงานเครองมอสาหรบเขยน Script

3. การตรวจสอบไวยกรณ หากเรายงไมมความชานาญในการเขยน Action

Script เราสามารถทาการตรวจสอบความถกตองของไวยกรณในการเขยนสครปตทเรากาลงทางานอย ณ ปจจบน ได

โดยคลกทป ม (Check Syntax)

14

การใชงานเครองมอสาหรบเขยน Script

ตวอยางการตรวจสอบไวยกรณ

15

การใชงานเครองมอสาหรบเขยน Script

4. การแสดงหมายเลขบรรทด การแสดงหมายเลขบรรทดมประโยชนมากใน

ข นตอนการตรวจสอบหาขอผดพลาดในโปรแกรม ซงทาไดโดย

คลกป ม ทบนมมขวาในหนาตาง Action

จากนนเลอก Line Numbers

16

การใชงานเครองมอสาหรบเขยน Script

ตวอยางการแสดงหมายเลขบรรทด

แสดงหมายเลขบรรทด

เลอกคาส ง Line Number

17

การใชงานเครองมอสาหรบเขยน Script

5. การตดบรรทด ในบางครงเราอาจพมพคาสงบรรทดเดยวยาว

มากๆ เพอความสะดวกในการอานโคด เราสามารถใชคาสงบรรทดอตโนมต

โดยคลกป ม จากนนทาการเลอกคาสง

Word Wrap จากเมนลด

18

การใชงานเครองมอสาหรบเขยน Script

ตวอยางการตดบรรทด

บรรทดยาวจะถกตดใหเหนภายในหนาตาง Action เลอกคาส ง Word Wrap

19

พนฐานการเขยนสครปต

การระบถงพรอพเพอรตหรอเมธอด เราจะใชเครองหมายจด (.) สาหรบระบถง

Properties หรอ Method ทมในมฟวคลป โดยพมพจดขนกลางระหวางชอ instance ของ MovieClips กบ Properties เชน

myMovieClip._visible myMovieClip._play();

Presenter
Presentation Notes
myMovieClip._visibleเปนการระบไปยง properties _visible(เปนการกำหนดใหแสดง หรอไมแสดง) ของ movieclip ทชอ myMovieClip myMovieClip._play เปนการระบไปยง method ของmovieclip ทชอ myMovieClip

20

พนฐานการเขยนสครปต

ตวพมพใหญ-พมพเลก(Case sensitivity) ภาษา ActionScript จะมความเขมงวดเรอง

ตวพมพใหญ-พมพเลกของตวอกษร ซงจะมองวาตวอกษรพมพใหญ และพมพเลกเปนคนละตวกน

21

พนฐานการเขยนสครปต

อฒภาค Semicolons (;) ใน ActionScript เมอจบคาสงจะตองปดทายดวย

เครองหมาย (;) แตกมการอนโลมไมใหเกดขอผดพลาด หากมการขนบรรทดทถกตอง

var x = 5; var x = 5 var y = 10; var y = 10 x=5 y=10;

ไมถกตอง

22

พนฐานการเขยนสครปต

การเขยนคอมเมนต (Comment) การเขยนคอมเมนตเปนการเขยนขอความกากบ

เพออธบายรายละเอยดเกยวกบโคด // ในการเขยนคอมเมนตสาหรบบรรทดทตองการ เชน // this is comment /**/ ใชในการเขยนคอมเมนตครงละหลายบรรทด เชน /* this is first comment this is second comment */

23

พนฐานการเขยนสครปต

การใชงานคาสง trace แสดงคาของสครปต ในการทดสอบ movie หรอ scene เราจะใช

action trace แสดงผลลพธจากการคานวณตางๆ ออกทางหนาตาง Output

trace(expression);

Presenter
Presentation Notes
แอคชน trace จะแสดงขอมลออกทางหนาตาง Output ไดเฉพาะมฟวทเลนในโหมดทดสอบมฟวเทานน ไมสามารถแสดงผลกบ stand alone หรอ web browser ได

24

พนฐานการเขยนสครปต

ตวแปรใน ActionScript การประกาศตวแปร 1. การประกาศตวแปรอตโนมต

var my_x=10; my_x= “Good Morning”;

Presenter
Presentation Notes
การประกาศตวแปรอตโนมต เปนการนำตวแปรมาใชโดยไมมการประกาศคา เพราะ flash สามารถเดาชนดขอมลใหเราเองจากคาทถกมอบหมาย จากตวอยาง โปรแกรมจะกำหนดคาใหเปนขอมลชนดตวเลข แตถาตอมาเราเปลยนแปลงคาในตวแปล เปนขอความ โปรแกรม flash จะทำการเปลยนชนดขอมลของตวแปรเปนขอความแทน

25

พนฐานการเขยนสครปต

ตวแปรใน ActionScript 2. การประกาศแบบชดเจน

var variablename:datatype; โดยท variablename หมายถง ชอตวแปร datatype หมายถง ชนดขอมล เชน var my_Num:Number = 1;

Presenter
Presentation Notes
การประกาศตวแปรแบบชดเจน เปนการประกาศตวแปรพรอมกบการกำหนดชนดขอมล หากเรามอบหมายคาชนดขอมลทไมตรงกบทกำหนดไวใหกบตวแปร จะเกดขอผดพลาด

26

พนฐานการเขยนสครปต

หลกการตงชอตวแปร คาทใชตงเปนชอตวแปร ตองเปน identifier

คอ ขนตนดวยอกษรภาษาองกฤษ , _ , $ แตภายในชอตองไมมชองวาง หรอ สญลกษณพเศษ เชน *, #, @

คาทใชตองไมซากบ Keyword เชน break case true false

ตองไมซากบชอตวแปรทถกตงไวกอนแลว

Presenter
Presentation Notes
หลกในการตงชอ ควรตงชอตวแปรทสอความหมายถงขอมลทมนเกบ เชน stdname ทสอความหมายวาเกบขอมลชอนกศกษา เพองายตอการกลบมาอานในภายหลง การตงชอตวแปร ควรขนตนดวยตวพมพเลก และใหใชตวพมพใหญกบตวอกษรตวแรกของคำใหม เชน myVariableName, MyCustomername

27

พนฐานการเขยนสครปต

ชนดของขอมล ขอมลชนด String ตองลอมรอบดวย

เครองหมาย ‘’ หรอ “” เชน “Tommy” ขอมลชนด Number สามารถกาหนดไดทง

จานวนเตม (Integer) และ จานวนจรง ขอมลชนด Boolean ม 2 คา คอ True และ

False ซงจะแทนดวย 1 และ 0 ตามลาดบ

Presenter
Presentation Notes
ตวอยางชนด Boolean var my_x = 1 var my_y = 0 if (my_x == true) { trace (my_x); } if (my_y == false) { trace (my_y); } Output คอ 0 และ 1

28

พนฐานการเขยนสครปต

การใชโอเปอรเรเตอรใน ActionScript โอเปอรเรเตอรเชงตวเลข โอเปอรเรเตอรกาหนดคา โอเปอรเรเตอรเชงเปรยบเทยบ โอเปอรเรเตอรเชงตรรกะ

29

พนฐานการเขยนสครปต

โอเปอรเรเตอรเชงตวเลข (Numeric Operators) เกยวของกบการคานวณทางคณตศาสตร เชน

การบวก การลบ การคณ เปนตน + เชน 2+4 % เชน 10%3 - เชน 4 - 2 ++ เชน X++ * เชน 4 * 2 - เชน X- / เชน 5 / 2

Presenter
Presentation Notes
บวก ลบ คณ หาร หารเกบเศษ เพมคาทละ 1 และ ลดคาทละ 1

30

พนฐานการเขยนสครปต

โอเปอรเรเตอรกาหนดคา (Assignment Operators)

เปนการกาหนดคาใหกบตวแปร โดยใช เครองหมาย = รวมกบ เครองหมาย + - * /

= เชน x = y += เชน x += y -= เชน x -= y *= เชน x *= y

Presenter
Presentation Notes
X = y เปนการกำหนดคา y ใหกบตวแปร x X += y เปนการกำหนดคา x บวก y ใหกบตวแปร x X -= y เปนการกำหนดคา x ลบ y ใหกบตวแปร x X *= y เปนการกำหนดคา x คณ y ใหกบตวแปร x

31

พนฐานการเขยนสครปต

โอเปอรเรเตอรเชงเปรยบเทยบ (Comparison Operators)

ใชเปรยบเทยบระหวาง 2 คา โดยมผลลพธเปน true หรอ false

> เชน x > y == เชน x == y >= เชน x >= y != เชน X != y < เชน x < y <= เชน x <= y

Presenter
Presentation Notes
> ผลลพธ เปนจรงเมอ มากกวา >= ผลลพธ เปนจรงเมอ มากกวาหรอเทากบ < ผลลพธ เปนจรงเมอ นอยกวา <= ผลลพธ เปนจรงเมอ นอยกวาหรอเทากบ == ผลลพธ เปนจรงเมอ เทากบ != ผลลพธ เปนจรงเมอ ไมเทากบ

32

พนฐานการเขยนสครปต

โอเปอรเรเตอรเชงตรรกะ (Logical Operators) โอเปอรเรเตอรเชงตรรกะจะใหผลลพธเปนคา

true และ false && (and) เชน expr1 && expr2

|| (or) เชน expr1 || expr2 ! (not) เชน !exp

Presenter
Presentation Notes
&& ใหผลลพธเปนจรงไดกตอเมอนพจน expr1 และ expr2 มคาเปนจรงทงค ถามนพจนตวใดตวหนงเปนเทจ หรอเปนเทจทงคผลลพธทไดจะเปนเทจ ||ใหผลลพธเปนเทจกตอเมอนพจน expr1 และ expr2 มคาเปนเทจทงค ถามนพจนตวใดตวหนงเปนจรง หรอเปนจรงทงคผลลพธทไดจะเปนจรง !ถานพจน expr มคาเปนจรง ผลลพธทไดจะเปนเทจ ถานพจน expr มคาเปนเทจ ผลลพธทไดจะเปนจรง var x = true var y = false trace (x&&y); trace (x || y); trace (!x); trace (!y); Output false true false true