问题标签 [nape]

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.

0 投票
1 回答
81 浏览

actionscript-3 - Starling 和 Napephys 更新手锚

我目前正在使用本机阶段来计算我正在使用的颈背物理世界中的物理物体,显示对象是建立在八哥引擎上的。

我想知道这是否是将椋鸟和颈背混合在一起的最佳方法(在进入框架上使用原生舞台)或者也许有更好的方法:

PivotJoint(_hand).anchor1.setxy(_nativeStage.mouseX, _nativeStage.mouseY);

我一直在拖拽不同的分辨率和一些性能问题时遇到一些问题,我怀疑这可能是原因。

谢谢!

0 投票
1 回答
424 浏览

actionscript-3 - 颈背空间.步和恒定的冲动

我有一个奇怪的问题。如果我每次使用向量在颈背上移动一个身体ENTER_FRAME(以获得恒定的运动)var vec:Vec2 = new Vec2(40,0);并将其作为脉冲应用body.applyImpulse(vec);,当我在同一帧“渲染”场景space.step(1 / this._stage.frameRate);a时,并在那时以像素为单位追踪运动的差异身体(与其在前一帧的位置相比),它不是每帧恒定的。结果是有时位置在前面,就像它在同一帧中渲染了 2 个脉冲,而下一帧不会有任何脉冲或移动,并且精灵是摇晃的,这是随机发生的。空间没有重力(0,0);

如何让每帧都有冲动的身体保持良好的持续运动?我尝试使用body.position.setxy(),但它违背了模拟的目的......

我玩了一下space.step(1 / this._stage.frameRate);并尝试space.step(0.1 / this._stage.frameRate);了随机晃动消失了,但现在身体在每一帧都有一点点晃动。有什么想法吗 ?

编辑 使用现在速度而不是 applyImpulse,仍然有同样的问题

我在每一帧都运行它,身体 x 上的位置差异是:

因此,每隔一段时间,施加到对象上的速度的结果不是恒定的,因为它偶尔会呈现“领先”并“纠正”自己,如果我可以说的话。

0 投票
0 回答
99 浏览

actionscript-3 - Nape 活动准备好了吗?

有没有办法检查/听模拟准备好了吗?我使用了很多对象,所以场景和引擎需要时间来初始化。Nape 中是否有一个事件在它准备好时被调度?在我的初始化场景函数(我将身体添加到 Nape 的地方)结束时调度并没有这样做。任何想法 ?干杯。

0 投票
0 回答
163 浏览

actionscript-3 - 颈背导致冲动

我试图让玩家的身体在满足某些条件时上升几“米”,然后在“空中”缓慢停下来然后下来。

重力600

我认为要让它上升,冲动.y 至少应该是 -601,以与推动它向下的力相矛盾。虽然,设置 -600(或更小)会使它向上射,永远不会再被看到。(甚至-100)。

是的,脉冲在更新功能中,这意味着它会不断增加脉冲,使其每刻都更快。但是,当设置 -20 时,它不会在 y 方向上上升,(它最终应该是每个滴答声都被给予身体的冲动)。

这还没有完成,它不是上面描述的,但它是它的要点。当条件满足时,玩家应该向上并且冲动应该失去它的力量。问题是我不知道有多少足以抵消重力脉冲。我可以通过试错来做到这一点,但我更想知道它是如何工作的,多少脉冲相当于重力=600?

0 投票
1 回答
197 浏览

actionscript-3 - 如何使用 .as 从 PhysicsEditor 导出的文件

这个问题已经存在很长时间了,但对我来说没有令人满意的解决方案。我删除了第一个帖子,而是发布了一个可以用是或否快速回答的问题,这样我就可以继续我的工作了。

如果你能在它被“不是一个好问题”删除之前非常快地回答它。使用从 PhysicsEditor 到 Nape 的自定义形状与使用Box2D相同吗?(ofc 改变语法)

如果您可以查看该链接,然后说这与 Nape 中的相同过程就足够了,谢谢。

我问这个是因为到目前为止我发现 Box2D 教程更容易理解。

0 投票
1 回答
109 浏览

actionscript-3 - 身体和精灵位置

当我编译时,我的英雄并没有碰到地板,而是在上方几个像素处停了下来。我想如果我追踪两个身体和它们各自的精灵,我会知道哪些不重合。

我得到以下信息,

英雄:470.2(...) / 470.2

楼层:0 / 0

此外,在以下情况下,地板位置 0 在其 y 属性中如何:

我读到虽然颈背身体的“注册点”在中间,但精灵在左上角,所以当给精灵提供相同的身体 x 和 y 时,它不会匹配。下面的精灵将不在位置。

我试过wallSprite.graphics.drawRect(-width/2, -height/2, width, height);但没有用。虽然我相信问题就在那里,但要正确放置精灵。

0 投票
1 回答
453 浏览

actionscript-3 - 哪个 AS3 物理引擎可以一致地重放模拟?

我目前正在将 Nape 物理引擎用于 ActionScript 3.0 中的“Peggle”风格游戏。

在此处输入图像描述

它非常易于使用,运行流畅。然而,我在使用 Nape 时遇到的唯一困难是重放完全相同的模拟。

即使我在整个游戏过程中为它提供相同的时间步长值,它似乎在计算中也有足够的“错误”,以至于球每隔一段时间就会撞到不同的钉子(从头开始),有时甚至会或多或少地产生点燃钉子。

所以我的问题是:

是否有任何其他用于 Flash 的物理引擎可以在每次重新启动时以完全相同的方式重现给定的模拟?

编辑:在每一帧上“记录”数据并回放的想法在我问过这个问题的其他论坛上被抛出。但不幸的是,“重播”功能并不能让同一个用户查看他/她自己的落球场景。它将用于在不同机器上的玩家之间共享(例如:客户端报告了一个错误,落球种子值为 1234,我们输入 1234 并且应该能够看到相同的问题)。因此,如果我们预先录制了一堆场景(我的意思是足以让玩家产生他们实际上正在运行物理模拟的错觉),随机选择一个,并使用该随机 ID 作为我们识别特定场景的方式,这意味着我们需要在游戏中嵌入大量数据——如果物理引擎是确定性的,这些数据可能会被保存。


只是为了检查我已经在 Nape 尝试过的任何东西:

  • 球在比赛开始时重置到相同的位置和旋转。
  • 球的初始速度是在用户点击时设置的,因此这应该覆盖从上一轮结转的任何速度。
  • 钉子不动(它们是静态的),所以没有必要重新设置它们。
  • 接球的部分仅由静态盒和传感器组成,因此也没有必要重新设置它们。
0 投票
1 回答
155 浏览

actionscript-3 - 颈背物理学。如何收听空间/世界的 SLEEP 事件?

我应该如何设置一个回调,当 Nape 空间中没有运动时,当每个身体“进入睡眠”时触发?我找不到任何合适的解决方案,但我想这是物理引擎的必备品。谢谢你。

0 投票
1 回答
337 浏览

actionscript-3 - [AS3][Nape Physics] 如何在 InteractionListener 中访问 Nape 主体的关联对象?

我需要有关 AS3 中物理引擎 Nape 的帮助。我有一个带有一些矩形(Nape 体)作为成员变量的类。我有一个 InteractionListener,当这些矩形与场景中的一些圆圈(也是 Nape 体)交互时,它会做出反应。但是,在处理 InteractionListener 内部的冲突时,我需要访问矩形所属的类实例。类实例有一些我需要调用的方法。我怎样才能做到这一点?

我有大量的有机体实例。每个有机体都有动态数量的矩形。它只是其中的第一个矩形在交互。我现在能看到的唯一解决方案是将所有交互的矩形连同所有有机体实例的列表放在一个单独的列表中,然后通过另一个列表中矩形的索引访问有机体。但是能够通过矩形主体中的一些用户数据访问有机体会快得多......我无法扩展主体,因为它是最终类。请帮忙!

0 投票
1 回答
68 浏览

haxe - 物体不坠落

我创建了一个有重力和两个物体的空间:

这是我的addBox()功能:

我在我的update()方法中调用 step :

我不明白为什么我的动态形状不会落在地上......

任何想法?