问题标签 [impactjs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 在 Box2D 中动态禁用碰撞:当实体已经发生碰撞时不起作用
我正在用 Impactjs 编写游戏,并且使用 Box2D 作为物理引擎(具体来说是 Box2DFlash)。所以玩家有一个动作,他不应该与敌人发生碰撞。实现这种碰撞过滤似乎是最好的方法。
所以我设置了敌人的夹具:
对于玩家:
当我想打开/关闭玩家与敌人的碰撞时,我调用这些函数:
它正在工作......但只有当它们没有相互碰撞时。当我面对墙壁并将 categoryBits 设置为0x0000
.
更新
好的,我用一个肮脏的黑客修复了它:问题是,联系人仍然存在,所以我不得不以某种方式删除它们。我最初尝试手动删除它们但失败了。
在 Box2D 的手册中写道:
AABB 不再重叠,触点被破坏。
所以我写了一个函数,让玩家在他所面对的目录中移动大约 6px(似乎可以工作的最小量)(如果他当时没有与墙壁碰撞),这将重叠实体并解决问题。
这是有问题的功能:
javascript - ImpactJS - 变量值在传递给类构造函数之前有效,然后变为 NaN
抱歉,帖子很长,但我想尽可能详细
所以我正在创建一个带有几个自定义ig.Class
实例的插件。一个是 Vector 实现:Vec2然后我有一个粒子类:
接下来我在另一个类中有这个轮胎功能:
最后是与轮胎函数在同一类中的更新函数:
我得到的错误是在更新函数的这一行:var velocity = particles[i].pos.sub(particles[i].last).scale(this.friction);
特别是错误是说它不能调用sub
未定义的方法。我将上面的轮胎方法更改为如下所示,以便可以对其进行调试:
当我记录pos
变量时,我得到正确的值输出到控制台,但是如果仍然得到错误。我唯一能想到的是,pos
在方法中创建变量的位置tire
与在Particle
构造函数中传递和分配变量之间的某个位置,它会丢失其值并导致粒子具有pos.x / pos.y
NaN 值,我可以在记录时看到varparticles
高于错误行 ( var velocity = particles[i].pos.sub(particles[i].last).scale(this.friction);
)。我真的不知道出了什么问题我尝试更改Particle
构造函数的参数pos
分配以通过多种方式分配它(通过Vec2.mutableSet()
方法和直接设置。但无论我做什么,它仍然会导致粒子的 NaN 值。
谁能看到我不是的东西?谢谢
javascript - ImpactJS 和 astar 探路者
使用这个库:https ://github.com/hurik/impact-astar-for-entities
我可以获得打印路径,但是一旦我在我的“怪物”实体中执行 followPath,精灵就会消失?!
我可能做错了什么?
php - 在影响引擎中从 JavaScript 运行 php 代码
我使用名为Staroids的影响游戏引擎创建了一个游戏。
我创建了一个数据库来存储高分。
我已经按照之前的答案做了它所说的,并查看了其他一些解决方案,但它似乎不起作用!
我正在尝试运行一个包含以下代码的 php 文件:
这是我在 JavaScript 文件中运行的代码:
当它到达此代码时,它会在控制台中出现以下错误:
javascript - 如何在 Box2D 的 Impact.js 版本中过滤碰撞
我有几个关于 box2d 物理引擎的 Impact.js 实现的问题。
首先,有人可以向我解释在不需要粒子具有精确物理相互作用的情况下,处理粒子效果的最佳方法是什么?在默认的 box2D 引擎中,有一个collides.LITE
选项似乎可以很好地实现此目的。然而,在 box2D 中,即使是少量的粒子(比如 15 个左右),由于粒子之间以及彼此之间以及环境之间的相互作用,游戏也会显着减慢。
一个相关但独立的问题是:在 box2D 的 Impact.js 版本中处理碰撞过滤的最佳方法是什么?网上的一些资料解释说,要对其他 box2D 实现使用碰撞过滤,您所要做的就是为每个对象定义collisionBits
和maskBits
属性,然后 box2D 会自动完成其余的工作。我在 box2D 的 Impact.js 版本中尝试了这一点,但根本无法操纵碰撞。
有没有人有这种事情的经验?非常感谢。
node.js - Node js - 使用 Express 提供大量文件
我正在使用影响引擎和套接字 IO 编写 2d 游戏。我决定对网站本身也使用 express。
Impact 要求我从多个目录提供十几个文件(js、css 和图像)。
我怎样才能使用快递服务这些?
提前致谢。
javascript - Uncaught TypeError: undefined is not a function when using ig.AnimationSheet
我现在正在用 Impactjs 写一个游戏,我已经为这个问题苦苦挣扎了一段时间。在我的 player.js 文件中,当我尝试初始化动画表时出现 Uncaught TypeError。错误位于最后一行。
我的 .requires 看起来像这样:
由于构造函数 ig.AnimationSheet 是该行中唯一的函数,因此我认为它无法被识别。但这让我感到困惑,因为我虽然 Impact.animation 是正确的位置。
impactjs - 在 ImpactJS 中生成弹丸
使用 ImpactJS 附带的示例代码,我想知道什么
{方向:this.lastPressed}
方法。下面的代码指的是玩家实体,当按下“攻击”按钮时。
“方向”是某种方法吗?我从这段代码中猜测,它告诉弹丸根据实体的方向行进,但我不知道如何。
javascript - 级别不会在 Impactjs 中加载
我在使用 ImpactJs 加载关卡时遇到问题。当我尝试加载到某个级别时,我在控制台中收到以下错误:
未捕获无法加载资源:loader.js:91 ig.Loader.ig.Class.extend._loadCallback loader.js:91 ig.Image.ig.Class.extend.onerror
我在我的关卡文件夹中保存了一个名为 map1 的关卡,并使用以下代码加载它:
谁能看到我哪里出错了?谢谢 :)