官方文档里明明说的,在游戏逻辑中都是使用的世界单位
但是我们在 2D 游戏运算中一般使用 世界坐标系中的单位(简称世界单位)来作为长度单位制,所以我们需要一个比率来进行物理单位到世界单位上的相互转换。
一般情况下我们把这个比率设置为 32,这个值可以通过 PHYSICS_2D_PTM_RATIO 获取,并且这个值是只读的。通常用户是不需要关心这个值的,物理系统内部会自动对物理单位与世界单位进行转换,用户访问和设置的都是进行 2d 游戏开发中所熟悉的世界单位。
但是刚体的速度确实物理系统中的单位,下面设置刚体速度为1,表示1m/s,在1秒时间内,在屏幕中移动32像素单位,
按照文档所说,当速度设置为32时,1秒才能移动32像素单位,如果设置把刚体速度设置为32,在1秒时间内,刚体移动的距离已经超出屏幕了。
this.rb.linearVelocity = v2(1,0)
// 一秒后暂停运动
this.schedule(function() {
this.rb.linearVelocity = v2(0,0);
}, 1);
下面是测试画面:

