
เอาจริงรึ มันห่วยนะ

พอเป็นแนวทางละกันนิ
// ลบอโค้ดไม่เกี่ยวออกเกือบหมดแล้ว
เริ่มเลยนะ
stop();
var shapeFlag = true;
finish_mc._visible = false; // อันนี้เป็น มูวี่ตอนจบ เอามันมาหลบไว้ก่อน ( จริงๆจะใช้ attach แต่ขี้เกียจ)
var mouseListener:Object = new Object(); // สร้าง event ตรวจจับการชน
mouseListener.onMouseMove = function() {
if (_mc2.hitTest(_mc._x, _mc._y, shapeFlag)) { // หากชนกับเส้นขอบ ให้รันฟังค์ชั่น out()
out();
}
if (!area.hitTest(_mc._x, _mc._y, shapeFlag)) { // เช็คขั้นที่สอง หากออกนอกทาง ให้รันฟังค์ชั่น out()
out();
}
if (finish_area.hitTest(_mc._x, _mc._y, shapeFlag)) { // หากถึงเส้นชัย ใหรันฟังค์ชั่น finish()
finish();
}
updateAfterEvent();
};
Mouse.addListener(mouseListener);
ที่ใช้ Listener เพราะเราเล่นเกมส์ด้วยการลากเม้าส์อยู่แล้ว เลยไม่ต้องใช้ enterFrame มาทำ event ในการตรวจการชน
ส่วนนี้คือ ลาก _mc เพื่อเล่นเกมส์
_mc.onPress = function() {
this.startDrag();
clockStart(); // ลากปั๊ป จับเวลาปุ๊ป
};
_mc.onRelease = function() {
this.stopDrag(); //เหนื่อยก็พัก ปล่อยเม้าส์ได้
};
ส่วนฟังค์ชั่นหลักๆ ก็ง่ายๆเลยครับ
เมื่อรันฟังค์ชั่นนี้ ก็จะ..
function out() {
clockStop(); // หยุดเวลาไว้
_mc.stopDrag(); // หยุดลาก
Mouse.removeListener(mouseListener); //ลบ event การตรวจจับการชน
_mc.gotoAndStop(2); // แสดงภาพระเบิด
delete _mc.onPress; // กันการลากต่อ ด้วยการลบ onPress ซะเลย
over_mc.gotoAndPlay(2); // แสดง มูวี่เกมส์โอเวอร์ มีปุ่มเริ่มใหม่อยู๋ข้างใน
}
// วิธีเริ่มใหม่คือ _root.gotoAndPlay(1) เพื่อรีเซ็ท ( แบบง่ายๆ ) // มั่วโคตรๆ
ผมปล่อยไทม์ไลน์หลักให้ไหลไปห้าเฟรมแล้วค่อยหยุดเพราะตัวเกมส์ และสคริปอยู่เฟรม 5
// อันนี้ฟังค์ชั่นเมื่อเล่นจบ
function finish(){
_mc.stopDrag(); // หยุดลาก
Mouse.removeListener(mouseListener); //ลบ event การตรวจจับการชน
delete _mc.onPress; // กันการลากต่อ ด้วยการลบ onPress ซะเลย
finish_mc._visible = true; // แสดง มูวี่เกมส์จบ มีปุ่มเริ่มใหม่อยู๋ข้างใน
clockStop(); // หยุดเวลาไว้
finish_mc.ftime_txt.text = total_time; // อันนี้แสดงเวลาที่เล่นจบ โดยดึงค่าจากตัวจับเวลามา
}
ส่วนแรก _mc2 ที่ทำเป็นเส้นขอบห้มาลากมาชน เป็น shape นะครับ ไม่ใช่ line

ส่วนอันนี้เป็น พื้นที่ด้านใน เอากันไว้ว่า ไม่ให้ลากออกนอกพื้นที่นี้

จริงๆหลักๆก็มีแค่นี้ครับ

จบครับ ............. เรื่องตัวจับเวลาไม่ขอกล่าวนะครับ ยืมเว็บนี้มา _http://www.gieson.com/Library/projects/utilities/stopwatch/