1 บทที่ 7 _ต่อ การตรวจจับอีเว้นต์. 2 การใช้ตัวจับอีเว้นต์ที่ตอบสอดคล้องกับเหตุการณ์ ที่เกิดขึ้น ซึ่งขึ้นอยู่กับออบเจ็กต์แต่ละตัวว่า สามารถตอบสนองอีเว้นต์ใดได้บ้าง.

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
โปรแกรมฝึกหัด การเลื่อนและคลิกเมาส์
Advertisements

Funny with Action Script
วิธีการตั้งค่าและทดสอบ เครื่องคอมพิวเตอร์ก่อนใช้งาน
การจัดการความผิดพลาด
วิชา องค์ประกอบศิลป์สำหรับคอมพิวเตอร์ รหัส
Chapter 2 Root of Nonlinear Functions
Accessing Web Application Data at Any Time 1. 2 อาจารย์ที่ปรึกษาโครงการ ผศ. กานดา สายแก้ว อาจารย์ผู้ร่วมประเมินโครงการ ผศ. อนัตต์ เจ่าสกุล รศ. วนิดา แก่นอากาศ.
แนวทางการรายงานผลการปฏิบัติราชการโดยผ่านระบบเครือข่ายอินเตอร์เน็ต
โครงการแลกเปลี่ยนเรียนรู้ เกี่ยวกับระเบียบกระทรวงการคลัง
Control structure part II
การพัฒนาการใช้งานในระบบเว็บ
ภาษาคอมพิวเตอร์.
05_3_Constructor.
เนื้อหา ประเภทของโปรแกรมภาษา ขั้นตอนการพัฒนาโปรแกรม
การจัดการเอกสารด้วยไลบรารี 1. โครงสร้างของ Live.citcoms.nu.ac.th.
การจัดการเอกสารด้วยไลบรารี
การสร้างบทเรียน CAI ด้วย Flash
(เฟส 1 ระยะทดลองใช้งาน อรม.อร.)
Use Case Diagram.
Operating System ฉ NASA 4.
C Programming Lecture no. 6: Function.
SCC : Suthida Chaichomchuen
Classification Abstraction
PROCEDURE <<โปรแกรมย่อย>>
การสร้างภาพเคลื่อนไหว
การพัฒนาเว็บด้วยโปรแกรมสำเร็จรูป
ภาษาที่ใช้ในการเขียนเว็บไซต์
บทที่ 1 หลักการเขียนโปรแกรมเชิงวัตถุ
คลาสและวัตถุ (4) (Class & Object)
คลาสและวัตถุ (4) (Class & Object)
เครื่องมือช่วยในการจับประเด็น รวบรวมความคิดให้เป็นหมวดหมู่
การออกแบบและ พัฒนาเว็บไซต์ WEBPAGE DESIGN AND DEVELOPMENT FOR INFORMATION SERVICES สำหรับการบริการสารสนเทศ.
แนวทางการปฏิบัติโครงการจูงมือ น้องน้อยบนดอยสูง 1.
Chapter 4 การสร้าง Application
โครงสร้างข้อมูลแบบคิว
การจัดการกับเหตุการณ์ Event Handling
1 บทที่ 7 _ต่อ การเขียนโปรแกรมเพิ่มเติม. 2 การทำงานกับ MovieClips มูฟวี่คลิปเป็นออบเจกต์หนึ่งใน ActionScript ที่มี method และ property ให้เราใช้งานได้
บทที่ 7 Flash 8 ActionScripts.
บทที่ 3 การวิเคราะห์ Analysis.
คำสั่งควบคุมการทำงานของ ActionScripts
เทคนิคการสืบค้น Google
สำนักวิชาเทคโนโลยีสารสนเทศและการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา
เขียนโปรแกรมเพื่อแสดงข้อมูลพนักงาน ด้วย ADO.NET vs. DataReader
Extra_08_Test_Modular_Calculator
วิชาคอมพิวเตอร์กราฟิก
รูปจักกับซิมโบลและอินสแตนซ์ รูปจักกับซิมโบลและอินสแตนซ์
Symbol ชนิด Button Symbol ชนิด Button.
รู้จักกับTimeline, Layer และ Scene รู้จักกับTimeline, Layer และ Scene
เสรี ชิโนดม ฟังก์ชัน เสรี ชิโนดม
วิทยา กรระสี (วท.บ. วิทยาการคอมพิวเตอร์)
ฟังก์ชัน.
คำสั่งเงื่อนไข (Condition Statement)
บทที่ 3 การสร้าง Appication แบบ Windows Form
Symbol & Instance.
PHP: [8] การสร้างฟังก์ชั่นขึ้นใช้เอง (User-defined functions)
หน่วยที่ 10 Objects and Event handling
เรื่องการประยุกต์ของสมการเชิงเส้นตัวแปรเดียว
Chapter 3 - Stack, - Queue,- Infix Prefix Postfix
เรื่องการประยุกต์ของสมการเชิงเส้นตัวแปรเดียว
รหัสวิชา บทที่ 4 การจัดรูปแบบเอกสาร.
นางสาวเบญจมาศ รัตน์พิทักษ์
BCS 121 บท 5 การโปรแกรมเชิงวัตถุ (Object-Oriented Programming)
บทที่ 9 การใช้งานฟอร์มและคอนโทรลต่าง ๆ
บทที่ 5 เทคนิคการสร้างแอพพลิเคชัน
Object Oriented Programming : OOP
การแสดงผลและการรับข้อมูล (Data Output and Input)
1 Functions กนกวรรธน์ เซี่ยงเจ็น สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา.
โครงสร้างข้อมูลแบบ สแตก (stack)
โครงการจัดทำฐานข้อมูลผ่านเว็บไซต์
ใบสำเนางานนำเสนอ:

1 บทที่ 7 _ต่อ การตรวจจับอีเว้นต์

2 การใช้ตัวจับอีเว้นต์ที่ตอบสอดคล้องกับเหตุการณ์ ที่เกิดขึ้น ซึ่งขึ้นอยู่กับออบเจ็กต์แต่ละตัวว่า สามารถตอบสนองอีเว้นต์ใดได้บ้าง เราแบ่งชนิดของการเกิดอีเว้นต์ได้ 2 ลักษณะคือ  อีเว้นต์จากผู้ใช้ (User Event)  อีเว้นต์จากระบบ (System Event)

3 อีเว้นต์ที่ทำให้สคริปต์ทำงาน การเขียนสคริปต์ในงาน Flash สามารถเขียนได้ ในตำแหน่ง 1. ตำแหน่งเฟรมใน TimeLine หลัก 2. ตำแหน่งเฟรมใน TimeLine ของ MovieClips 3. ตำแหน่งตัวปุ่มกด หรือ MovieClips โดยตรงบน stage

4 อีเว้นต์ที่ทำให้สคริปต์ทำงาน โปรแกรม Flash จะทำการแปลคริปต์คำสั่งต่างๆ โดยยึดตามหลักการดังต่อไปนี้ 1. สคริปต์ที่กำหนดใน TimeLine หลักจะถูกแปล เมื่อหัวอ่าน Movie เล่นไปถึง frame นั้นๆ 2. สคริปต์ที่กำหนดให้ในปุ่มกด จะถูกแปลเมื่อเกิด อีเว้นต์ที่ระบุในตัวจับอีเว้นต์ on 3. สคริปต์ที่กำหนดใน MovieClips จะถูกแปลเมื่อ เกิดอีเว้นต์ที่ระบุในตัวจับอีเว้นต์ onClipEvent

5 การเขียนตัวจับอีเว้นต์ในซิมบอลแต่ละแบบ การเขียนสคริปต์ที่ปุ่มกด การเขียนสคริปต์ที่ MovieClips การเขียนสคริปต์แบบจับอีเว้นต์

6 การเขียนตัวจับอีเว้นต์ในซิมบอลแต่ละแบบ รูปแบบการเขียนสคริปต์ที่ปุ่มกด เป็นการเขียนที่ตัว instance ของปุ่มกดนั้นๆ โดยตรง และสคริปต์ของเราจะทำงานก็ต่อเมื่อ ปุ่มกดเกิดเหตุการณ์บางอย่าง เช่น การกดปุ่ม, การปล่อยปุ่ม เป็นต้น on(Event){... } รูปแบบ

7 รูปแบบการเขียนสคริปต์ที่ปุ่มกด on(press){ trace(“You Press”); } on(press,rollover){ trace(“You Press Or Rollover”); }

8 รูปแบบการเขียนสคริปต์ที่ปุ่มกด on(rollOver){ trace(“You Rollover”); } on(press){ trace(“You Press”); }

9 อีเว้นต์ในปุ่มกด เหตุการณ์ความหมาย press release releaseOutside rollOver rollOut dragOver dragOut KeyPress เกิดเมื่อกดปุ่มเม้าส์ เกิดเมื่อกดปุ่มเม้าส์แล้วปล่อย เกิดเมื่อกดปุ่มเม้าส์แล้วปล่อยนอกปุ่ม เกิดเมื่อเลื่อนเม้าส์ไปบนปุ่ม เกิดเมื่อเลื่อนเม้าส์โดนปุ่มแล้วผ่านไป เมื่อกดปุ่มแล้วลากออกแล้วกลับที่เดิม เกิดเมื่อกดปุ่มแล้วลากออกจากปุ่ม เกิดเมื่อผู้ใช้กดปุ่มบนคีย์บอร์ดนั้นๆ

10 รูปแบบการเขียนสคริปต์ที่ MovieClips มีลักษณะคล้ายกับการเขียนสคริปต์ลงบนปุ่มกด แต่ใช้คำว่า onClipEvent แทน รูปแบบ onClipEvent(Event){... }

11 รูปแบบการเขียนสคริปต์ที่ MovieClips onClipEvent(mouseDown){ trace(“You MouseDown”); } onClipEvent(mouseUp){ trace(“You MouseUp”); }

12 อีเว้นต์ใน MovieClip เหตุการณ์ความหมาย load MouseDown onMouseMove onMouseUp unload EnterFrame onKeyDown onKeyUp Data ครั้งแรกเมื่อ movieClip แสดงบน Timeline เมื่อกดปุ่มเมาส์ ณ.ตำแหน่งใดๆ บน stage เมื่อลากเมาส์ ณ.ตำแหน่งใดๆ บน stage เมื่อปล่อยปุ่มเมาส์ ณ.ตำแหน่งใดๆ บน stage ณ. เฟรมแรกหลังจาก movieClip ลบจาก Timeline ทำงานตลอดเวลาตราบที่ movieClip ยังอยู่ เมื่อ movieClip โดนโฟกัส และกดคีย์บอร์ด เมื่อ movieClip โดนโฟกัส และปล่อยคีย์บอร์ด รับข้อมูลจาก loadVariables(), loadMovie()

13 ข้อดี ของการเขียนตัวจับอีเว้นต์ลงในปุ่มหรือ MovieClips โดยตรง ง่ายต่อการเขียนสคริปต์ สามารถเขียนเพิ่มอีเว้นต์ แทรกเข้าไปได้เลย สคริปต์ง่ายต่อการอ่าน เนื่องจากมีการแบ่งเป็น ช่วงๆของอีเว้นต์ เช่น on() หรือ onClipEvent()

14 ข้อจำกัด ของการเขียนตัวจับอีเว้นต์ลงในปุ่ม หรือ MovieClips โดยตรง กรณีมี MovieClips หลายๆตัว หรือซ้อนกันอยู่ หลายๆชั้น อาจจะทำให้ค้นหาสคริปต์ได้ยากเมื่อ ต้องการปรับปรุงแก้ไขภายหลัง ไม่สามารถเขียนตัวจับอีเว้นต์แบบนี้ให้กับออบ เจกต์ที่จะถูกสร้างตอนรันโปรแกรม เขียนได้ เฉพาะออบเจกต์ที่วางบนเสตจตอนออกแบบ เท่านั้น

15 รูปแบบการเขียนสคริปต์แบบจับอีเว้นต์ เป็นการเปลี่ยนจากการเขียนอีเว้นต์ในปุ่มหรือ MovieClips มาเขียนบน TimeLine หลัก โดย อาศัยการเขียนสคริปต์ของอีเว้นต์ในลักษณะแบบ เมธอด เรียกว่า เมธอดอีเว้นต์ (Event Handler Method) รูปแบบ object.eventMethod=function() { statement(s) }

16 รูปแบบการเขียนสคริปต์แบบจับอีเว้นต์ my_Button.onPress = function() { trace(“You Press”); }

17 จุดเด่น ของการจับอีเว้นต์ด้วยเมธอด จับอีเว้นต์ สามารถเขียนสคริปต์สำหรับจับอีเว้นต์จากหลายๆ ออบเจกต์ได้ภายในเฟรมๆเดียว ทำให้สคริปต์ เป็นระเบียบ ง่ายต่อการทำความเข้าใจ และแก้ไข ข้อผิดพลาด เราสามารถที่จะมอบหมายตัวจับอีเว้นต์ ให้กับ ออบเจกต์ที่ถูกสร้างตอนรันไทม์

18 เมธอดจับเหตุการณ์สำหรับ MovieClips Mc.onDataMc.onDragOutMc.onDragOver Mc.onEnterFrameMc.onkeyDownMc.onkeyUp Mc.onKillFocusMc.onLoadMc.onMouseDown Mc.onMouseMoveMc.onMouseUpMc.onPress Mc.onRelease Outside Mc.onRollOut Mc.onRollOverMc.onSetFocusMc.onUnload

19 เมธอดจับเหตุการณ์สำหรับปุ่ม Bt.onDragOutBt.onDragOverBt.onKeyDown Bt.onKeyUpBt.onKillFocusBt.onPress Bt.onReleaseBt.onReleaseOut Side Bt.onRollOut Bt.onRollOverBt.onSetFocus

20 ขอบเขตของตัวแปรและคำสั่งในตัวอีเว้นต์ แบ่งเป็น 2 รูปแบบ คือ 1. แบบฟังก์ชันก์ 2. แบบ on(), onClipEvent()

21 ขอบเขตของตัวแปรในตัวจับอีเว้นต์ของ MovieClips ตัวแปรที่ประกาศไว้ในขอบเขตของประโยค on() หรือ onClipEvent() ของอินสแตนซ์มูฟวี่คลิปจะ มองเห็นได้ตลอดทั้งไทม์ไลน์ของมูฟวี่คลิปตัวนั้น on(press) { varmy_Var = 3; } on(release){ trace(my_Var); }

22 ขอบเขตของตัวแปรในตัวจับอีเว้นต์ของปุ่ม ตัวแปรที่ประกาศไว้ในขอบเขตของประโยค on() ของอินสแตนซ์ปุ่มกด จะมองเห็นได้จากไทม์ ไลน์ที่อินสแตนซ์ปุ่มกดนั้นฝังอยู่

23 ขอบเขตคำสั่งในตัวจับอีเว้นต์ของ MovieClips คำสั่งที่ปรากฎในขอบเขตของประโยค on() หรือ onClipEvent() ของอินสแตนซ์มูฟวี่คลิปจะ ทำงานกับไทม์ไลน์ของอินสแตนซ์มูฟวี่คลิปตัว นั้น on(press) { play(); }

24 ขอบเขตคำสั่งในตัวจับอีเว้นต์ของปุ่มกด คำสั่งที่ปรากฎในขอบเขตของประโยค on() ของ อินสแตนซ์ปุ่มจะทำงานกับไทม์ไลน์ที่อินสแตนซ์ ปุ่มกดนั้นฝังอยู่ on(press) { play(); }

25 ขอบเขตคำสั่งในตัวจับอีเว้นต์ในรูปแบบเมธอด จับอีเว้นต์ ในการประกาศตัวแปรแบบนี้ ตัวแปรจะสามารถ เรียกใช้งานภายในขอบเขตเมธอดจับเหตุการณ์ที่ เรากำหนด my_mc.onPress = function() { var my_Var=“Hi”; } my_mc.onRelease = function() { trace(my_Var); } ผิด

26 ขอบเขตคำสั่งในเมธอดจับอีเว้นต์ คำสั่งที่ปรากฏในขอบเขตของเมธอดจับอีเว้นต์ จะทำงานกับ TimeLine ที่เมธอดฝังอยู่ my_mc.onPress = function() { play(); }

27 ขอบเขตคำสั่งในเมธอดจับอีเว้นต์ ถ้าต้องการสั่งให้ TimeLine ของอินสแตนซ์ my_mc หรือ TimeLine ของอินสแตนซ์ที่เกิด อีเว้นต์เล่น ให้ใช้คำสั่ง this my_mc.onPress = function() { this.play(); }