iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 18
0

》Static and Dynamic Bodies
昨天我們創建基本的重力物體,但有些物件是不需要重力且其他重力物件碰撞時,不影響自身的位置,例如地板。

》Javascript 內容
有些物件,例如地板是不需要重力,也不需要受到其他重力物件碰撞而影響。所以我們先把 ground 物件取消重力以及不受碰撞影響。

scene.create = function() {
    // 把物件賦予重力
    let ground = this.add.sprite(180, 400, 'tile')
    this.physics.add.existing(ground)

    // 取消重力
    ground.body.allowGravity = false

    // 不受重力碰撞影響而變更位置
    ground.body.immovable = true

    // 直接創建重力物件
    let ground2 = this.physics.add.sprite(180, 200, 'tile')

    // 讓兩個物件產生碰撞
    this.physics.add.collider(ground, ground2)
}

可直接使用第二個參數 true,變成靜態物件

scene.create = function() {
    // 把物件賦予重力
    let ground = this.add.sprite(180, 400, 'tile')
    this.physics.add.existing(ground, true)

    // 直接創建重力物件
    let ground2 = this.physics.add.sprite(180, 200, 'tile')

    // 讓兩個物件產生碰撞
    this.physics.add.collider(ground, ground2)
}

》結論
今天我們試著創建靜態物件,不受重力且其他重力物件碰撞時而變更位置的物體,通常使用在地板、跳躍的磚塊上等物體。
https://ithelp.ithome.com.tw/upload/images/20181102/20111617qw3vTk3AzK.png


今天就先到這裡,我們明天見。


上一篇
Day 17:Physics systems
下一篇
Day 19:Static and Dynamic Bodies [ 2 / 2 ]
系列文
Phaser 幫我撐個 30 天30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言