如何修改enchant.js中的障碍规则?
How to change the obstacle rules in enchant.js?
我正在用 enchant.js 制作 RPG 游戏,然后我创建了这样的地图:
sample map
玩家不能过水,但玩家乘船可以通过through.My问题是每次玩家都需要重写collistionData吗walking/boating?是如果地图很大,有一个简单的方法吗?谢谢帮助。
不熟悉 enchant.js,但通常使用碰撞遮罩来处理这种情况。因此,根据您使用的物理引擎,应该有一种方法可以在物理体上设置碰撞遮罩值(使用整数)。以 box2d 为例,你有两个值:
- 类别位
- 屏蔽位
类别是该对象的数值或类型。所以如果你有一堆变量:
const PLAYER = 1;
const WATER = 2;
const BOAT = 4;
您可以将类别位设置为其中之一。掩码位就是它可以与之碰撞的掩码的值。
const PlayerEntity = {
category: PLAYER,
mask: PLAYER | WATER
};
const WaterEntity = {
category: WATER,
mask: PLAYER
};
物理引擎在内部用它做的是 & 运算,以查看类别和掩码值是否等于 0 以外的值。如果等于,则发生碰撞。
我正在用 enchant.js 制作 RPG 游戏,然后我创建了这样的地图: sample map
玩家不能过水,但玩家乘船可以通过through.My问题是每次玩家都需要重写collistionData吗walking/boating?是如果地图很大,有一个简单的方法吗?谢谢帮助。
不熟悉 enchant.js,但通常使用碰撞遮罩来处理这种情况。因此,根据您使用的物理引擎,应该有一种方法可以在物理体上设置碰撞遮罩值(使用整数)。以 box2d 为例,你有两个值:
- 类别位
- 屏蔽位
类别是该对象的数值或类型。所以如果你有一堆变量:
const PLAYER = 1;
const WATER = 2;
const BOAT = 4;
您可以将类别位设置为其中之一。掩码位就是它可以与之碰撞的掩码的值。
const PlayerEntity = {
category: PLAYER,
mask: PLAYER | WATER
};
const WaterEntity = {
category: WATER,
mask: PLAYER
};
物理引擎在内部用它做的是 & 运算,以查看类别和掩码值是否等于 0 以外的值。如果等于,则发生碰撞。