Tuesday, December 7, 2010

AS3 : Event ใน Flash มีอะไรบ้างนะ?

ในส่วนของ Event เป็นกลุ่มคำสั่งที่ตอบสนองกับอุปกรณ์ป้อนข้อมูล Input เช่น Mouse และ Keyboard เรามาดูว่า ในแต่ละอุปกรณ์มีคำสั่งอะไรให้เล่นกันบ้าง

MouseEvent : เรื่องเม้าส์ๆ

// การใช้งาน MouseEvent แต่ละครั้งควร import Class Mouse Event เข้ามาด้วย
// import flash.events.MouseEvent;

// การเรียกใช้งานจาก Move Clip หรือ Button
//ชื่อ MC หรือ BTN .addEventListener(MouseEvent.คำสั่ง MouseEvent, ชื่อฟังก์ชั่นรองรับคำสั่ง);

btn1.addEventListener(MouseEvent.CLICK, btnClick);
หรือ เรียกบน Scene โดยตรง
stage.addEventListener(MouseEvent.CLICK,btnClick);

** จริงๆแล้วคำสั่งมีเพียบเลยแต่ที่ใช้บ่อยๆก็มี

MouseEvent.CLICK // เมื่อมีการคลิก

MouseEvent.ROLL_OUT // เมื่อเม้าส์ออกจากบนวัตถุที่จับเหตุการณ์อยู่

MouseEvent.ROLL_OVER // เมื่อเม้าส์มาวางบนวัตถุที่จับเหตุการณ์อยู่

MouseEvent.MOUSE_UP // เมื่อผู้ใช้ปล่อยการกดค้างเม้าส์

MouseEvent.MOUSE_DOWN // เมื่อผู้ใช้กดค้างเม้าส์

MouseEvent.MOUSE_WHEEL // เมื่อผู้ใช้สกอร์ลลูกล้อเลื่อนๆตรงกลางเมาส์

MouseEvent.MOUSE_OVER // เมื่อชี้เมาส์ในพื้นที่ ที่กำหนด

MouseEvent.MOUSE_MOVE // จับการเคลื่อนที่ของเม้าส์

Mouse.show(); // การแสดงเม้าส์

Mouse.hide(); // การซ่อนเม้าส์

// flower เป็น mc รูปดอกไม้เอามาแทน ลูกศร
flower.mouseEnabled = false;
--------------------------------------
อื่นๆไปดูได้ที่ Live Docs Adobe
-------------------------------------

KeyboardEvent: เรื่องคีย์บอร์ดดดด

เนื่องจากคีย์บอร์ดมีปุ่มให้กดเยอะแยะ ทั้งตัวอักษร และ ปุ่มฟังก์ชั่นต่างๆ ดังนั้น ถ้าหากต้องการระบุว่าให้กดตัวอักษรอะไร ต้องใช้ KeyCode เข้ามาบอก

Letters
A - 65
B - 66
C - 67
D - 68
E - 69
F - 70
G - 71
H - 72
I - 73
J - 74
K - 75
L - 76
M - 77
N - 78
O - 79
P - 80
Q - 81
R - 82
S - 83
T - 84
U - 85
V - 86
W - 87
X - 88
Y - 89
Z - 90

Numbers
0 - 48
1 - 49
2 - 50
3 - 51
4 - 52
5 - 53
6 - 54
7 - 56
8 - 57
9 - 58

** หากจะทำการเขียนเช็คโค้ด สามารถใช้เงื่อนไขว่า
if(eventName:keyCode ==65){ // ถามว่าเป็นตัว "A" หรือเปล่า
trace("A");
}else{
trace("I don't know what u type");
}


การควบคุมด้วยลูกศรทุกทิศทาง

btn.addEventListener(KeyboardEvent.KEY_UP);
btn.addEventListener(KeyboardEvent.KEY_DOWN);
btn.addEventListener(KeyboardEvent.KEY_LEFT);
btn.addEventListener(KeyboardEvent.KEY_RIGHT);

No comments: