首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何改变enchant.js中的障碍规则?

如何改变enchant.js中的障碍规则?
EN

Stack Overflow用户
提问于 2016-07-31 11:12:13
回答 1查看 56关注 0票数 0

我正在用enchant.js制作一个RPG游戏,然后我创建了这样一个地图:样本地图

玩家不能通过水,但当玩家乘船时,他们可以通过through.My的问题是,当玩家行走/划船时,我应该重写collistionData吗?如果地图很大,有什么简单的方法吗?谢谢帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-31 13:40:23

不熟悉enchant.js,但通常是使用冲突掩码来处理。因此,根据您使用的物理引擎,应该有一种方法来设置物理体上的碰撞掩码值(使用整数)。例如,对于box2d,您有两个值:

  1. 类别位
  2. 掩码位

类别是该对象的数字值或类型。所以如果你有一堆变量:

代码语言:javascript
复制
const PLAYER = 1;
const WATER = 2;
const BOAT = 4;

您可以将类别位设置为其中之一。掩码位是它可以与之碰撞的掩码的值。

代码语言:javascript
复制
const PlayerEntity = {
  category: PLAYER,
  mask: PLAYER | WATER
};

const WaterEntity = {
  category: WATER,
  mask: PLAYER
};

物理引擎内部对此所做的是一项&操作,以查看类别和掩码值是否等同于0以外的值。如果是的话,就会发生碰撞。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38683357

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档