Cocos Creator 3.1.1 2D碰撞回调相关

  • Creator 版本: 3.1.1

目的:两个Sprite碰到后相互弹开

现在情况:
{
2D物理引擎——内置2D
SpriteA 添加 BoxCollider2D;
SpriteB添加BoxCollider2D组件,添加碰撞监听脚本
通过setPosition来移动SpriteB,onBeginContact、onEndContact方法有打印。

2D物理引擎——Box2D
SpriteA 添加 BoxCollider2D;
SpriteB添加BoxCollider2D组件,添加RigidBody2D并勾选EnabledContactListener,添加碰撞监听脚本
通过setPosition来移动SpriteB,没有打印回调。
}

官方文档这方面没有说清,只知道一个节点需要同时有RigidBody2D和Collider2D组件。
请问,这Box2D引擎怎么触发回调?
达成目的的话,用内置引擎就可以了还是要用Box2D?

在上述Box2D引擎下,我通过更换SpriteB的刚体RigidBody2D的Type类型,并取消了通过直接setPosition来进行移动,取而代之的是用Dynamic类型受重力影响进行移动。
并且调整了Collider组件的Restitution弹性值来完成了简单的碰撞效果。
可从这个方向完成我的目的么?

该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。