本身模擬遊戲引擎,動手寫個js碰撞檢測插件

js-collider

js碰撞檢測插件入口... -> github

項目地址 -> 碼雲

經過繼承ColliderPoint類並實現其中三個方法git

/** * 這三個方法是用來讓用戶重寫的 * onCollisionEnter: 監聽第一次碰撞 * onCollisionStay: 一直監聽碰撞 * onCollisionExit: 監聽碰撞退出 */
    onCollisionEnter() {

    }

    onCollisionStay() {

    }

    onCollisionExit() {

    }
複製代碼

例如:github

// 繼承ColliderPoint類
  class A extends ColliderPoint {
      // 開始碰撞
      onCollisionEnter() {
          console.log('collisionEnter')
      }
      // 持續碰撞
      onCollisionStay() {
          console.log('collisionStay')
      }
      // 碰撞退出
      onCollisionExit() {
          console.log('collisionExit')
      }
  }
  // 將x、y軸的座標和width和height傳入構造方法獲得實例
  let point = new A(100 - offset, 100 - offset, block_w)
複製代碼

你在修改A的實例point的x、y座標和height、width的時候,它會自動調用插件中的check_collider這個檢查函數,判斷是否碰撞。如是,則並調用這三個方法ide

此插件從此還會繼續更新,感謝各位的支持

相關文章
相關標籤/搜索