Arcade Physics 街机物理

# Arcade Physics 街机物理

physics.arcade

街机物理学世界。包含街机物理学相关的碰撞、重叠和运动方法。

new Arcade(game);

# 属性

// 初始化 Arcade Physics 引擎
game.physics.startSystem(Phaser.Physics.ARCADE);
// 禁用底部的物理碰撞
game.physics.arcade.checkCollision.down = false;

# 方法

# collide()

collide(object1, object2, collideCallback, processCallback, callbackContext) → {boolean}

检查两个游戏对象之间的碰撞。您可以执行 Sprite 与 Sprite、Sprite 与 Group、Group 与 Group、Sprite 与 Tilemap 层或 Group 与 Tilemap 层的碰撞。

第一个和第二个参数都可以是不同类型的对象数组。如果传递了两个数组,第一个参数的内容将根据第二个参数的所有内容进行测试。对象也会自动分离。如果您不需要分离,请改用 ArcadePhysics.overlap。

可以提供可选的 processCallback。如果给定,当发现两个精灵发生碰撞时将调用此函数。它在任何分离发生之前被调用,让您有机会执行额外的检查。如果函数返回 true,则进行碰撞和分离。如果返回 false,则跳过。

collideCallback 是一个可选函数,只有在两个精灵发生碰撞时才会调用。如果已设置 processCallback,则需要返回 true 才能调用 collideCallback。注意:此函数不是递归的,并且不会针对传递的对象的子对象(即其他组中的组或 Tilemap)进行测试。

# overlap()

检查两个游戏对象之间的重叠。对象可以是精灵、组或发射器。 您可以执行 Sprite vs. Sprite、Sprite vs. Group 和 Group vs. Group 重叠检查。

与碰撞不同,对象不会自动分离或应用任何物理,它们只是测试重叠结果。 第一个和第二个参数都可以是不同类型的对象数组。

如果传递了两个数组,第一个参数的内容将根据第二个参数的所有内容进行测试。

注意:此函数不是递归的,并且不会针对传递的对象的子对象(即组中的组)进行测试。

overlap(object1, object2, overlapCallback, processCallback, callbackContext) → {boolean}