"ยาม" (Event และ Listener) - ตอนที่ 2

posted on 19 Jun 2009 00:54 by korstudio in Tutorial

ทิ้งห่างไปนานเลย ต้องขอโทษด้วยนะครับ *05*
ใครคิดว่าผมลืมไปแล้ว.. ไม่จริงนะ กลับมา กลับม๊าา *07a*

หลังจากที่คราวที่แล้ว ผมเกริ่นนำให้รู้จักกับ ActionScript 3 ไปบ้างแล้ว
มาตอนนี้.. เรามาเริ่มบทโหดกันเลยดีกว่าครับ แฮ่ *39b*

Link ตอนที่ 1 - เริ่มเขียน ActionScript 3 กันดีกว่า (กดที่นี่)

 


 

คำเตือน!
1. ควรมีพื้นฐานการใช้งานโปรแกรม Flash มาก่อน (เช่น เครื่องมือชื่ออะไร, MovieClip คืออะไร, เฟรม ฯลฯ)
2. เป็นบทความเขียนโปรแกรม ดังนั้นรูปน้อย ตัวหนังสือเยอะ เตรียมใจไว้ซะ!

จั่วหัวไว้น่ากลัวมาก จะมีใครอ่านต่อมั้ยเนี่ย
ม่ะ ใครจะอ่านต่อก็.... สูดหายใจเข้าลึก ลึ้กกกก แล้วกลอกสายตาลงมาต่อ

 


 

เอาละนะครับ..

ใครเคยเห็นยามบ้าง ยกมือขึ้น (เอ้ายกก *47*/)
แหงสิ ใครจะไม่เคยเห็น

อยากบอกว่า ใน AS3 เราก็มียามนะจะบอกให้ ฮั่นแน่..
แต่ยามใน AS3 เค้าไม่ได้มาเฝ้าตึก เฝ้าของให้เราหรอกครับ

เค้ารอจับ "เหตุการณ์" ต่างหาก!!

เหตุการณ์ หรือ Event (ควรออกเสียงกระแดะๆ นิดนึง "อี๊ เฝ่น.. (เทอะ)" )
ก็คือ.. เหตุการณ์ เอ๊ะ ยังไง มันคือสิ่งที่(คาดว่า)จะเกิดขึ้นครับ

และ ยาม หรือ Event Listener (ห้ามอ่านว่า "ลิสเทนเนอร์" รับไม่ได้อย่างแรงง ต้องอ่าน "ลิส-อึ้น-เหนอะ")
ก็คือ.. ผู้เฝ้ารอ และคอยจับเหตุการณ์ที่กำหนด นั่นเองครับ

 

ดังนั้น ถ้ามียาม.. ก็ต้องมีเหตุการณ์มาให้รอจับ
มีเหตุการณ์มา จะทำอะไร ก็ต้องมียามคอยทำให้

ราวกับว่า ทั้งสอง เกิดมาเพื่อกันและกันนั่นเองครับ *27*
(ฟังดูโรแมนติกดีชะมัด)

 

อย่างที่เราคุ้นเคยกันดีว่า.. เวลาจะให้ยาม มาเฝ้าอะไรซักอย่างให้เรา ก็ต้องมีการ "ว่าจ้าง"
ซึ่งในการเขียน AS3 นั้น จะใช้คำยาวๆ ดังนี้คือ addEventListener ครับ

addEventListener จะใช้สำหรับกำหนดว่า เหตุการณ์ต่อไปนี้ ถ้ามีการทำงานแล้ว จะให้ทำอะไร
หรือพูดแบบชาวบ้านๆ คือ จ้างยามให้เฝ้าเหตุการณ์ ที่วัตถุๆ นี้ นั่นเอง แล้วถ้าเกิดอะไรขึ้น.. ก็ทำตามที่กำหนดไว้

วิธีใช้

ชื่อวัตถุ.addEventListener(ชื่อเหตุการณ์, รายการคำสั่ง หรือ Listener); 

เช่น

object_mc.addEventListener(MouseEvent.CLICK, onMouseClick);

จากบรรทัดนี้จะแปลได้ว่า

กาลครั้งหนึ่งนานมาแล้ว มีตึกๆ หนึ่งชื่อ object_mc ที่ตึกนี้เจ้าของตึกได้ว่าจ้างให้ยามผู้หนึ่ง
มาเฝ้ารอเหตุการณ์ MouseEvent.CLICK ไว้ ซึ่งเขากำชับยามนายนี้แล้วว่า
หากเกิดเหตุการณ์ดังกล่าวขึ้น.. ให้ทำตามรายละเอียด ดังที่ได้เขียนไว้ใน onMouseClick
ยามนายนั้นรับคำว่าจ้าง แล้วก็มานั่งเฝ้าที่ตึก object_mc ตลอดมา
ด้วยมีใจหวังว่า.. จะเกิดเหตุการณ์นั้นในช่วงชีวิตที่เขาเฝ้ายามอยู่..

อืม..  น่าสงสารยามนายนี้จัง ฮึกๆ *05*

สำหรับ MouseEvent.CLICK นั้น มันคือรูปแบบของเหตุการณ์ครับ จากตัวอย่างจะหมายถึง "เมื่อมีการคลิก" เกิดขึ้น นั่นล่ะ.. 

อ้าว แล้วมันมีอะไรบ้าง ใครจะไปรู้? ไม่เป็นไรครับ เดี๋ยวผมแนะนำให้

สำหรับ Event หรือ เหตุการณ์ใน AS3 นั้นจะมีอยู่หลากหลายประเภทมากๆ
ผมขอใช้ลักษณะนามว่า "คลาส" ก็แล้วกันนะครับ

ต่อไปนี้ ผมจะแนะนำคลาสที่ควรรู้จักไว้ 3 คลาสด้วยกัน ดังนี้ครับ

1. คลาส Event (ใช่แล้ว Event ที่ชื่อ Event)
จะทำหน้าที่กระจาย "เหตุการณ์ทั่วไป" ให้กับยามที่เฝ้ารออย่างทั่วถึง
(คำว่า "กระจายเหตุการณ์" ใน AS3 จะเรียกว่า "Dispatch" ครับ)

เหตุการณ์ที่ใช้บ่อย: OPEN, COMPLETE, SOUND_COMPLETE, CHANGE, RESIZE, ENTER_FRAME

OPEN - เหตุการณ์นี้จะทำงาน(กระจายเหตุการณ์) เมื่อมีการสั่งเปิดไฟล์/เริ่มโหลดไฟล์อะไรซักอย่าง
COMPLETE - ทำงานเมื่อไฟล์นั่นโหลดเสร็จแล้ว
SOUND_COMPLETE - ทำงานเมื่อเสียงเล่นจบ
CHANGE - ทำงานเมื่อค่าภายในกล่องข้อความ, กล่องเลือกสี, กล่องตัวเลือก ฯลฯ เปลี่ยนแปลง
RESIZE - ทำงานเมื่อมีการเปลี่ยนขนาด
ENTER_FRAME - ทำงานตลอดเวลา มักใช้กับการตรวจสอบอะไรซักอย่าง ที่ต้องการผลตลอดเวลา เช่น การอัพเดตค่าตำแหน่งเมาส์ ฯลฯ ส่วนมากใช้ในงานเกมส์ โปรแกรม หรือการสั่งวัตถุเคลื่อนที่

ตัวอย่าง

object_mc.addEventListener(Event.ENTER_FRAME, onObjectRunning);

2. MouseEvent - จะทำการกระจาย "เหตุการณ์ที่เกี่ยวกับเมาส์" ให้กับยามที่เฝ้ารออย่างทั่วถึง
แน่นอนครับ มันคือเหตุการณ์ที่จะเกิดขึ้นเมื่อเมาส์ไปทำอะไรซักอย่างนั่นเอง และเหตุการณ์ที่เราคุ้นตากันก็คือ...

เหตุการณ์ที่ใช้บ่อย - MOUSE_OVER, ROLL_OVER, MOUSE_OUT, ROLL_OUT, CLICK, MOUSE_DOWN, DOUBLE_CLICK, MOUSE_WHEEL, MOUSE_MOVE

**_OVER - ทำงานเมื่อเอาเมาส์ไปวางบนวัตถุที่จ้างยามไว้
**_OUT - ทำงานเมื่อเอาเมาส์ออกจากวัตถุที่จ้างยามไว้
MOUSE_DOWN - ทำงานเมื่อมีการ "กด" เมาส์ซ้าย (แค่กดก็ทำงานแล้ว)
CLICK - ทำงานเมื่อมีการ "กดแล้วปล่อย" บนวัตถุที่จ้างยามไว้ (เค้าเรียกว่า "คลิก" นั่นเอง)
DOUBLE_CLICK - แน่นอน.. ก็ดับเบิ้ลคลิก (หรือ กิ๊กๆ หรือ 2 กิ๊ก นั่นเอง -- กิ๊กคนเดียวไม่พอสินะ)
MOUSE_WHEEL - ทำงานเมื่อมีการเลื่อนลูกกลิ้งเมาส์ (ไม่ใช่ลูกกลิ้งใต้เมาส์นะ ใครใช้เมาส์แบบนั้นเชยแหลก)
MOUSE_MOVE - ทำงานเมื่อเมาส์เคลื่อนที่

ตัวอย่าง

object_mc.addEventListener(MouseEvent.CLICK, onMouseClick);

3. ProgressEvent - มักใช้ตอนเช็คไฟล์ที่กำลังโหลดครับ -- แน่นอน มันนำมาสู่คำถามยอดฮิต

"ทำพรีโหลดยังไงครับ/คะ" นั่นเอง!!!!

เหตุการณ์ที่ใช้บ่อย: PROGRESS

PROGRESS - ทำงานเมื่อ เอ่อ มันยังโหลดไม่เสร็จน่ะ

ตัวอย่าง

object_mc.addEventListener(ProgressEvent.PROGRESS, onLoading);

 

เอาละครับ แนะนำไปแล้วกับ "เหตุการณ์" ที่ใช้กันบ่อย(มากๆ)
ทว่า.. ทั้งหมดนี้เป็นเพียงแค่การเกริ่นก่อนเขียนจริงเท่านั้น!!!

ใครที่อ่านข้ามมา.. กรุณากลับไปอ่านต่อให้จบนะจ๊ะ จุ๊บุๆ *27*

 

อย่างที่ผมเกริ่นมาแล้วนะครับว่า การใช้ "ยาม" และ "เหตุการณ์" จะต้องประกอบด้วย "การว่าจ้าง" และ "ลิสต์รายการที่ให้ทำ"
(เอ๊ะ เกริ่นตรงไหนวะ --หลายคนอาจถาม นั่นสิ ผมเกริ่นตรงไหน.. อ๋อ ก็ตอนยกตัวอย่างไง)

ตอนนี้ เริ่มใช้ "ยาม" กันเลยดีกว่า เพื่อความเข้าใจถึงแก่นแท้แห่งมนุษยชาติ!!
เอ่อ อย่าใส่ใจผมเลยครับ บางทีอ่านข้ามๆ ไปบ้างก็ได้ *05*

เริ่มด้วยเหตุการณ์ยอดฮิต MouseEvent ครับ!

 

1. สร้างไฟล์ใหม่.. อ๊ะๆ อย่าลืมนะว่า ต้องเป็น Flash File (ActionScript 3.0) เท่านั้น

2. อ้าห์ เรากลับมายังหน้าจอที่คุ้นเคยกันอีกแล้ว *52*
    ณ จุดๆ นี้เนี่ย (ถ้าให้ได้อารมณ์ กรุณาทำท่าทางประกอบด้วย -- กรีดมือให้นิ้วแยกออกจากกัน แล้วหักข้อมือ เอานิ้วแนบลงบนอก) ให้สร้าง MovieClip ขึ้นมาอันนึงครับ อ้ะ อย่าถามนะว่าสร้างยังไง *50*

 

***อย่าลืม ตั้ง Registration Point หรือจุดอ้างอิง ให้อยู่ตรง มุมซ้ายบน นะครับ (ที่จุดเล็กๆ 9 ช่องตามรูป คลิกที่จุดซ้ายบนได้เลย)***

3. ตั้ง Instance Name ว่า test_mc (ตั้งยังไง.. ก็คลิกที่ MovieClip 1 ทีแล้วก้มลงมอง Properties พิมพ์ชื่อเสร็จกด Enter ด้วย)

 

4. เข้าไปแก้ข้างใน MovieClip ครับ อ๊างง *56* แล้วเพิ่มเฟรมมา 2 เฟรม สำหรับทำเป็นภาพตอนเอาเมาส์วาง และเอาเมาส์ออก แก้สีซะหน่อย เอาให้รู้ว่ากำลังทำอะไรอยู่

 

5. สร้างเลเยอร์ใหม่ และใส่คำสั่ง stop() ไว้ทั้ง 3 คีย์เฟรมเลยครับ (ร้องเพลง "Stop, Stop, Stop" ของ Nu Virgos คลอไปด้วยก็ดีฮะ)

 

6. กลับมายัง Stage สุดที่รัก สร้างเลเยอร์ใหม่ แล้วตั้งชื่อว่า as จากนั้นล็อกไว้ซะ จะได้ไม่เผลอมาวาดอะไรในเลเยอร์นี้

 

7.  สร้างยามคนแรก -- คนนี้จะมาคอยเฝ้าตอนเอาเมาส์ชี้ครับ

test_mc.addEventListener(MouseEvent.ROLL_OVER, onTestOver);

สังเกตว่า ทุกครั้งที่ผมตั้งชื่อ Listener (รายการคำสั่ง)จะขึ้นต้นด้วย "on"
จริงๆ ไม่ได้มีข้อห้ามอะไรหรอกครับ
แต่เป็นการตั้งชื่อให้รู้ความหมายเท่านั้นเอง ว่าเป็น Listener นะ.. เวลาแก้จะได้ตามหาได้ถูก

ตอนนี้ผมตั้ง Listener ว่า onTestOver ดังนั้น ผมก็ควรจะสร้าง Listener  ให้มีตัวตนจริงๆขึ้นมาด้วย จะได้ให้ยามรู้ว่า ควรจะทำอะไรบ้าง

function onTestOver(event:MouseEvent):void{
test_mc.gotoAndStop(2);
}

สำหรับรูปแบบ (อันน่ามึนหัว) นี้ ไม่ต้องตกใจครับ เพราะมันกำหนดไว้ตายตัวมากๆ แค่จำให้ได้ก็พอแล้ว

function ชื่อListener(ชื่อตัวแปรอะไรก็ได้:ประเภท/คลาสเหตุการณ์):void{
คำสั่งที่ให้ทำทั้งหลาย
}

ตรง "ชื่อตัวแปรอะำไรก็ได้" ผมแนะนำให้ใช้ e หรือ event ครับ เพราะมันสื่อถึงความหมายของมันเอง
และเรื่องราวเกี่ยวกับ "ตัวแปร" ผมจะกล่าวอย่างละเอียดในตอนต่อๆ ไปครับ (ผมเขียนว่า "ต่อๆ ไป" นะ ไม่ได้บอกว่าตอน "ต่อไป")

และ "ประเภท/คลาสเหตุการณ์" ในที่นี้ผมใช้ MouseEvent.ROLL_OVER ดังนั้น ณ จุดๆ นี้ (ทำท่าประกอบ) ผมก็เลยต้องใส่ MouseEvent ครับ

ยามคนแรกเสร็จแล้ว.. สรุปโดยรวมก็คือ เมื่อมีเมาส์มาวางบน test_mc ก็ให้ยามวิ่งไปทำใน onTestOver
ซึ่งในนั้นมีการบอกว่า ให้ test_mc ไปเล่นเฟรมที่ 2
นั่นเองครับ

8. สร้างยามคนที่ 2 --  คนนี้จะมาเฝ้าตอนเอาเมาส์ออกครับ

เขียนคล้ายๆ กับยามคนแรกเลยครับ แบบนี้

test_mc.addEventListener(MouseEvent.ROLL_OUT, onTestOut);
function onTestOut(event:MouseEvent):void{
test_mc.gotoAndStop(1);
}

9. สร้างยามคนที่ 3 -- คนนี้จะมาเฝ้าตอนคลิกเมาส์ครับ

test_mc.addEventListener(MouseEvent.CLICK, onTestClick);
function onTestClick(event:MouseEvent):void{
test_mc.gotoAndStop(3);
trace("Hey, I'm clicked");
}

จะเห็นว่า ในตึกๆ หนึ่ง (วัตถุชิ้นหนึ่ง) สามารถมียามได้หลายคนครับ

10. โค้ดทั้งหมดจะได้เป็นแบบนี้ครับ

 

       ต่อไปก็ทำการจัดโค้ด ผมแนะนำให้เอาส่วนของการ "จ้างยาม" ไว้ด้านบน และเอา Listener ทั้งหลาย ไว้ด้านล่าง ต่อๆ กันไปครับ
       (การจัดโค้ดให้เป็นระเบียบ เป็นสิ่งสำคัญมากนะครับ เพราะเวลามาแก้เนี่ย เราสามารถหาเจอได้ง่าย
       และโค้ดไม่ดูรกรุงรังครับ)

 

11. ทดสอบโปรแกรมกัน กด Ctrl+Enter

12. ลองลูบๆ คลำๆ คลึงๆ กดๆ บี้ๆ จิ้มๆ *04* MovieClip เราครับ (ตอนกดไม่ต้องร้อง อิคึๆ อิไต๊ย์ๆ นะครับ ไม่ดีๆ)

 

เอาละ.. ยามได้ทำหน้าที่ตามที่เรามอบหลายแล้ว

 

จากนั้นทำอะไรดีล่ะ...

 

 

 

 

 

 

 

 

 

ก็นอนสิครับทุกท่าน.. *42*

 

สวัสดี *46*

 


ไฟล์แนบประจำตอน: flashas3_2.fla

Comment

Comment:

Tweet

อธิบายได้เคลียมากๆครับ ได้ผลกับคนหัดใหม่อย่างผมสุดๆเลยครับ

You are my master!!

#34 By BellLex (124.120.170.99) on 2012-03-08 22:46

People that are looking for some facts close to essay buying in the essay writing service should look through your really good article related to this topic. In other case, this is possible to take the aid of the custom writing service.

#33 By custom write (193.105.210.41) on 2011-11-22 21:41

Would like to turn your half-time business greater heights? Do not know how to do SEO? Just contact quality building services and your business should get great heights!

#32 By seo link building service (193.105.210.41) on 2011-11-19 19:24

Yeah clearly very essential for the peruser! Most of the posts in the blog kindle with fantastic dirt... Thanks for the data! None of the writing services could keep such an excuse, all they can do is to make me buy an essay which are not novel. The only thing you've got to be acquainted trying to make an uncommon handiwork is that you can buy term papers or buy research papers about everything.But remember, to make research about this post is not an child's play task. Thanks.

#31 By buy term papers (193.105.210.41) on 2011-11-14 15:37

สวัสดีครับ
เนื้อหาดูตลกแต่ได้ใจความ เข้าใจง่ายมากเลยอะครับ
ถ้ายังงัยมากเขียนต่อเร็ว ๆ นะครับ
ขอบคุณครับ

#30 By tawat (223.204.80.172) on 2011-06-14 20:17

ขอบคุณค่ะ

#29 By ying (58.11.38.194) on 2010-08-08 22:04

ว๊าวววว ยอดไปเลยค่าา confused smile
เพิ่งจะเคยทำนี่แหละ อิอิ

#28 By Miny (61.7.132.102) on 2010-08-04 09:19

เย้ทำได้แล้ว..มือใหม่ครับ..ขอบคุณมากๆครับ

#27 By (125.26.51.176) on 2010-07-04 21:59

<a href="http://lzwiqtillkrcqih.com">jupfngezfqjwvlm</a> http://xofldblzqjqqjlv.com [url=http://rddrlnuhsuuknwp.com]twdswymtrswokie[/url]

#26 By pmxwzwqjgw (94.102.52.87) on 2010-06-10 21:15

ขอบคุณคร๊าบ

#25 By (61.90.12.63) on 2010-06-01 14:51

กำลังจะเอาดีด้าน AS2.0 AS3.0 เกิดซะงั้น มึนเลย!!

#24 By วัยรุ่น (58.8.79.9) on 2010-05-12 17:45

ขอบคุณมากครับบทความแบบนี้แหละที่ผมหามานาน ข้อความเยอะแต่เข้าใจได้ง่าย เป็นความรู้ที่กำลังอยากได้เลยครับ ขอบคุณมากครับ จะติดตามตอนต่อๆ ไปนะครับ เป็นกำลังใจให้

#23 By MeMee (61.7.191.89) on 2010-05-10 14:17

ขอบคุณมากครับ เข้าใจขึ้นเยอะเลย

เคยเขียนแต่AS2 พอลองทำAS3 ถึงกับงง
ตอนแรกนึกว่าจะคล้ายๆกันซะอีก -*-
แบบนี้คงต้องศึกษาอีกเยอะ ไงก็รีบมาต่อตอนต่อไปเร็วๆน่ะ

#22 By anu (113.53.190.102) on 2010-04-25 13:49

ผมขอคาราวะสามสี่จอกครับเข้าใจมากๆ

กาลครั้งหนึ่งนานมาแล้ว มีตึกๆ หนึ่งชื่อ object_mc ที่ตึกนี้เจ้าของตึกได้ว่าจ้างให้ยามผู้หนึ่ง
มาเฝ้ารอเหตุการณ์ MouseEvent.CLICK ไว้ ซึ่งเขากำชับยามนายนี้แล้วว่า
หากเกิดเหตุการณ์ดังกล่าวขึ้น.. ให้ทำตามรายละเอียด ดังที่ได้เขียนไว้ใน onMouseClick
ยามนายนั้นรับคำว่าจ้าง แล้วก็มานั่งเฝ้าที่ตึก object_mc ตลอดมา
ด้วยมีใจหวังว่า.. จะเกิดเหตุการณ์นั้นในช่วงชีวิตที่เขาเฝ้ายามอยู่..

มองเห็นภาพได้ดีมากมาย

มาต่อเร็วๆเลยนะครับขอบคุณสำหรับความรู้ครับ

#21 By ต้น (113.53.36.2) on 2010-02-04 11:37

ขอบคุณมากคร้าบ แบบว่าเข้าใจความรู้สึกยามเลย question Hot!

#20 By [ HOoliGan ] on 2010-01-04 23:24

หูยยย บทความดีมากมายครับ จริงๆ ผมเห็นภาพตามไปด้วยเลย ขอบคุณมากครรับ

#19 By bank_hpk (125.25.94.46) on 2009-12-29 12:35

พี่ก่อ

เอาไอ่นี่มาสอนผมนิ
- -*

หรือเอาที่สอนผมมาลง
55

เอาเกมมาแบ่งด้วยงับ วันจัน
ขี้เกียจบุกบ้าน

#18 By แว่นเอียง on 2009-10-17 17:47

awegaw1.txt;2;5

#17 By oakwBxBHZLCQLIjyWC (194.8.75.52) on 2009-10-11 20:17

หืออ น่าสนใจ แต่ ยังไม่ได้ลง flash เลยนิ
เลยเบลอๆ เล็กน้อย ลงเมื่อไหร่ได้ถามแน่ open-mounthed smile

#16 By p.cobra on 2009-07-25 00:57

เยียมไปเลยยยHot!

#15 By Jiam on 2009-07-19 23:03

เยี่ยม......ครับ......
พี่เนี่ยสุดยอดเลยdouble wink

#14 By together-way on 2009-07-17 15:13

โอ้้้้
เขียนดีกว่าหนังสือที่ซื้ออ่านอีกงับ
เป็นแฟนคลับเลยนะเนี่ย
ขอบคุณงับที่แบ่งปัน
น้ำใจงามมาก
confused smile

#13 By Cattalex (58.97.10.14) on 2009-07-15 17:11

กำหนดส่ง portfolio อีบุ๊คเล่ม 2
ถึงวันที่ 20 กรกฏาคมนะคะ อ่านรายละเอียดที่นี่จ้า

http://darkygirl.exteen.com/20090710/entry
ถ้ามีเหตุทำให้ส่งไม่ทันบอกด้วยนะจ๊ะ

#12 By ไอ้แป้น : i-phan on 2009-07-15 16:54

เพิ่งเข้ามาเห็นที่นี่ จะคอยติดตามอ่านครับ double wink
ขอบคุณครับ

#11 By omigosh on 2009-07-13 13:48

สุดยอดค่ะ สอนสนุกเข้าใจง่าย

ทำได้ด้วย ขอบคุณมาก ๆค่ะ

#10 By YourAreSuju ShoP on 2009-07-13 04:01

Basic สู่การเขียน AS3 ฮ่าๆ
THK confused smile P'Kor

#9 By oooatoro on 2009-07-03 22:49

*30* อุ๊ยตาย พิมพ์รหัสผิด เคยชิน

#8 By xViStA on 2009-06-19 22:07

จ่อร้องอ๊างค์ จิ้มร้องกรี๊ด เอ๊ะอะไร :30: Hot!

#7 By xViStA on 2009-06-19 22:06

Hot! ไม่รู้คืออะไร แต่จักฮอตให้ละกัน


ทำไมอีโมไม่ขึ้นแฮะ

#6 By phil_wc - Music - on 2009-06-19 21:19

เอาดราก้อนบอลไป Hot!

ตัวอย่างฮามาก *30*

#5 By ดุกศรียโสธร on 2009-06-19 13:56

โอ้วววว... :07: พลังแฟลชเป็นเช่นนี้เองHot!

#4 By on 2009-06-19 13:51

Hot! เยียมไปเลย
ตอนนี้แค่ AS 2 ผมยังมึนอยู่เลยsad smile
แต่อยากทำ AS 3 ได้จริงๆ

#3 By Jiam on 2009-06-19 08:31

อ๊างง กลายเป็นบล็อกสอนแฟลชแล้ว *04*

#2 By bellbell on 2009-06-19 06:22

อยากได้รูปเยอะ ตัวหนังสือประปราย *47*

#1 By scoutmf on 2009-06-19 04:44