问题标签 [topdown]
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.
algorithm - 自底向上动态规划是递归的吗?
在这种方法中,计算较小的子问题并缓存结果,然后我们计算较大的子问题,我们使用缓存了较早计算值的表中较小子问题的已计算优化值。那么,这种方法是递归的还是迭代的?
unity3d - 将自上而下的摄像机居中 65 度
我正在使用 Unity 开发 TopDown-Shooter。跟随玩家的相机得到了它的变换
- 位置:0,20,0
- 旋转:65,0,0
相机正在使用这个简单的跟随命令:
由于相机在 x 轴上旋转了 65 度,相机不再居中。
我必须在脚本中计算什么,才能将相机居中回到中间?
为了解决我的问题,我可以将相机设置为 (0,20,-10),但我需要计算它,因为如果更新中没有计算它,它会跳回来。
目前我只是在脚本中的 z 轴上计算 -20:
我想用正确的值替换这个值。
c# - Npc 动画跟随玩家统一 2d 自上而下
嘿,我正在统一制作一个自上而下的游戏。我遇到的问题是让 npc 玩家在跟随玩家时改变他们面对的方式。因此,如果玩家向左转,npc 会跟随他们,但不会转身面对 npc 前进的方向。我可以让 npc 看起来像在走路,只是不改变它的方向。这是一个 2d 自上而下的游戏,请任何帮助都会很好。这是我的NPC代码。
}
c# - Unity - 完成任务后销毁 DoorController
我编写了一个用于在 TopDown-Shooter 中打开门的控制器。
我围绕它们的本地 Y 轴旋转枢轴点以打开门对象。门应该保持打开状态,所以我不再需要 Controller 和 Controller 对象了。我想在完成它的工作后摧毁它。
我的脚本看起来是这样的:
我的问题是,我怎样才能销毁对象。我的代码
似乎不起作用。在将枢轴点旋转到 90 或 -90 度后,该语句仍然保持错误。我也试过
但它也不起作用。我需要通过哪个轮换?
谢谢。
parsing - 语法和自顶向下解析
一段时间以来,我一直在尝试学习 LL 解析器的工作原理,如果我理解正确的话,在手动编写自上而下的递归下降解析器时,我应该为每个非终结符创建一个函数。所以对于这个例子:
我必须像这样为每个 S、A、B 和 D 创建一个函数:
但后来我尝试用我创建的以下语法做同样的事情,以生成与 (a|b|c)*a 正则表达式相同的语言:
这给了我以下功能:
这似乎不太好,因为对于输入 'bbcaa' M 会消耗所有内容,之后 S 将找不到最后一个 'a' 并报告错误,即使语法接受它也是如此。感觉 M 缺少了 ε 的情况,或者处理方式不对,但我不知道如何处理。有人可以帮忙吗?
python - 如何在pygame中让相机跟随自上而下的汽车
pygame 和游戏编程的新手,只是想知道如何让相机在自上而下的汽车游戏中跟随汽车(没什么花哨的)——想想 Micro Machines!我正在使用 Python 3.6,并且有一辆自行车在旋转和四处走动。我已将此处的代码缩短了,但如果相机正常工作,我确实有一个静态图像供参考!
这是我所拥有的:
提前致谢!
java - box2d , libgdx - 玩家身体具有飞船的相对速度但仍然能够四处移动
我正在创建一个自上而下的 2D 游戏,我正在使用Box2D来模拟物理,我的问题是:
如何让玩家保持与我的飞船的相对速度,并且仍然能够在飞船也在移动的情况下围绕我的玩家移动?
我在下面放了一个插图。
插图
到目前为止我已经尝试过:
将玩家身体的线速度设置为与船相同,这使得玩家几乎附着在船上,而我无法移动玩家,因为我在每次更新滴答后设置线速度。
尝试接头似乎不是我想要的,我可能错了,我已经尝试了 WeldJoint 和 FrictionJoint,当我进入船时添加它们。,但是,使用焊接接头,我无法移动玩家,因为我被焊接到了船上。
预先感谢您的帮助!
java - 带记忆的循环内递归的运行时复杂度
我想知道如何确定以下代码的时间复杂度,使用自上而下的动态编程方法和记忆(注意 i,k,d 可以是任何整数值):
javascript - 使用 setInterval 实现玩家移动
如果您对问题投了赞成票或反对票,请评论原因。我愿意改变它,但只有你告诉我哪里出了问题,我才能这样做。
我目前正在尝试为我正在编写的类似轰炸机的游戏实现玩家运动。布局与此非常相似:
移动方向优先级
基本上,当您按下其中一个箭头键时,玩家应该开始朝那个方向移动,直到他碰到一个方块。(这已经有效)
但它更复杂。例如,当你按住left
和时up
,玩家应该移动up
直到他碰到一个方块,然后他应该尝试去left
直到他可以up
再次去或碰到一个方块。
所以最后一个键总是具有最高优先级,前一个键具有第二高优先级,依此类推。(我已经编写了代码来跟踪优先级,但由于以下问题,它不起作用。)
浮点数位置
玩家不会简单地从场地 (0|0) 移动到场地 (0|1)。玩家在变量中配置了固定速度(默认为每秒 1 个字段),并且他的位置将每 10 毫秒更新一次。滞后可能会导致位置更新延迟数秒。
所以这个位置几乎从来不是一个整数,而且几乎总是一个浮点数。
碰撞问题
玩家的宽度和高度与游戏中的所有其他元素完全相同。这意味着,为了从 (0|2.0001312033) 到 (1|2),您首先必须准确地到达 (0|2),这样玩家才不会与 (1|1) 上的块发生碰撞并且(1|3) 只有这样你才能真正到达 (1|2)。
问题是玩家几乎从未真正到达过如此理想的整数位置,因为该位置仅每 10 毫秒更新一次。
字段跳过
另一个明显的问题是,如果延迟导致位置更新延迟一秒,玩家可能会跳过一个字段,从而导致玩家跳过墙壁、物品和爆炸。
总结 如果自上次位置更新以来玩家移动了多个区域,他将跳过一个区域,并且几乎不可能绕过拐角,因为玩家必须处于完美的位置才能在转弯时不与任何块发生碰撞。
我只是想不出在不创建大量不可读代码的情况下解决这些问题的好方法。我真的很想保持它的整洁,并且当我将来再次查看它时能够理解代码。
是否有可以提供帮助的游戏动作库?还有其他想法吗?
我的代码
这些是我当前代码的关键部分。我试图删除所有不相关的部分。