action sctipt 2.0 เกมเก็บขยะ Junkman
เกมส์เก็บขยะ ลดโลกร้อน |
สื่อลดโลกร้อน ในนี้ผมใช้ flash 8 นะครับมันเล็กดี แต่ใช้ได้ถึง cs6 เลย
1.เริ่มแรกก็สร้างถังขยะมาก่อน ถังสีเขียวขยะทั่วไป ตั้งชื่อ(Instance Name)ว่า greenbin
2.สร้างถังสีแดง หมายถึงขยะมีพิษ ไว้ทิ้งพวก อุปกรณ์ อิเล็กทรอนิกส์ ไรงี้ ตั้งชื่อว่า redbin
3.ขยะชิ้นแรก คือ แบตเตอร์รี่ ตั้งชื่อว่า batt
4.หลอดไฟเสีย ตั้งชื่อว่า lightb
5.ก้างปลา ตั้งชื่อว่า fishb
6.จัดวางให้เรียนร้อย
6.1ด้านบนใส่ dynamictext ไว้ 2 อัน ไว้แสดงคะแนน(ตั้ง var เท่ากับ score) และข้อความเมื่อจบเกม(var เท่ากับ status)
part2 coding
7.คลิ๊กขวาที่ รูปหลอดไฟ เลือก action ใส่ code ดังนี้
on(press){
startDrag(this);}//เมื่อกด จะลาก วัตถุนี้
on(release){
stopDrag(); //ปล่อย แล้วจะเลิกลาก
}
ลองกด ctrl+enter แล้วลองลากดู จะพบว่าสามารถลากได้ แต่ยังไม่สามารถใส่ถังขยะได้
8.เพิ่ม code ในส่วนon(release) ดังนี้ คลิ๊กขวาที่หลอดไฟแล้ว action ใหม่
on(release){
stopDrag(); //ปล่อย แล้วจะเลิกลากif(this.hitTest(_root.redbin)){//เอาไปชนกับ วัตถุชื่อ redbin
this._visible=0;//หายไป
}
}
อธิบายนิดนึง :คำสั่ง hitTest ไว้ตรวจสอบการชนกันของวัตถุ
คำสั่ง this ใช้แทนการเรียกวัตถุชิ้นนี้โดยไม่ต้องเรียกชื่อ
_root เป็นตำแหน่งเอาไว้เรียกวัตถุจากชื่อ instance name ถ้าไม่ใส่โปรแกรมจะหาวัตถุไม่เจอ
9.ลองใหม่ ตอนนี้ ใส่ถังสีแดงได้แล้วแต่ไม่มีคะแนนขึ้นมา ฉะนั้นต้องเขียน code เพิ่ม
on(release){
stopDrag(); //ปล่อย แล้วจะเลิกลากif(this.hitTest(_root.redbin)){//เอาไปชนกับ วัตถุชื่อ redbin
this._visible=0;//หายไป
_root.score=int(_root.score) +1;// เพิ่มคะแนน
}}
ลอง ctrl+enter ดู พบว่าใส่ได้แล้ว มีคะแนนขึ้นแล้ว
10.ลองทำกับ วัตถุแบตเตอร์กับ ก้างปลา ดู
แต่มีข้อแม้แบตเตอรี่ hittest กับ redbinก้างปลาต้อง hittest กับ greenbin นะครับ
11.ก๊อปปี้ขยะไว้เยอะๆเรียบร้อย
12.เสริม ทำก็ดีไม่ทำก็ได้ คลิ๊กขวาที่ถังขยะแดง แล้ว action ใส่ code
onClipEvent(enterFrame){
if(_root.score == 15){
_root.status = "mission complete";
}
}
อันนี้จะแสดง ตัวหนังสือ mission complete เมื่อเก็บขยะหมด 15 ชิ้นครับ
ที่เหลือก็เสริม หน้าแรก วิธีการเล่นอื่นๆตามต้องการเลยครับ
ความคิดเห็นนี้ถูกผู้เขียนลบ
ตอบลบขอบคุณครับผม
ตอบลบอยากให้สอน as3.0บ้างคับ
ตอบลบถ้าเราเก็บขยะลงผิดถังแล้วจะให้ขยะมันเด่งกลับมายุที่เดิมทำไงครับ
ตอบลบ