How to create Flappy Bird (Part 12) – Collide ground

บทนำ (Overview)

บทความที่แล้วใส่พื้นให้ดูเหมือนนกบินไปข้างหน้า (How to create Flappy Bird (Part 11) – Adding the ground) แต่เมื่อลงปล่อยให้นกตกลงมาปรากฏว่านกเลยพื้นไปเลย แทนที่จะลงมาแค่บนพื้นและหยุดให้พื้นเลิกเคลื่อนไหว เราจะมาแก้ปัญหานี้กัน

flappy18

ขั้นตอน (Steps)

  1. เราจะมากำหนดให้เวลา “Bird” ตกลงมาชน “Ground” แล้วไม่เลยเกินพื้น โดยการเปิดใช้งาน physics ทั้ง “Bird” และ “Ground” ในส่วนของ “create: function()”
           //เปิดใช้งาน physics บน Bird และ ground
           //จะทำให้สามารถตรวจสอบการชนกันได้ cllide
           game.physics.arcade.enableBody(this.bird);
           game.physics.arcade.enableBody(this.ground);
    

    flappy16

  2. เมื่อเปิดใช้งานจะพบว่า พื้นยุบทันทีเมื่อนกตกลงมาชน เราจะมาแก้ไขให้ “ground” อยู่กับที่
       this.ground.body.immovable = true;
    

    flappy17

  3. สามารถดาวน์โหลด source-code ได้ที่ https://gist.github.com/thaisingle/2ce6d0e180fbd190545b

ใส่ความเห็น