问题标签 [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.

0 投票
1 回答
93 浏览

unity3d - 有没有更好的方法来写这个自上而下的汽车 mdoel

我正在写一个自上而下的汽车漂移游戏,我想让汽车在一个圆圈内移动,用户通过转向控制圆圈的半径,基本上直线转向是一条直线,向左转是向左的一个小圆圈它将跟随的汽车。随着汽车转向更多(任一侧),我试图让汽车前部转向中心越来越多,就好像它在漂移一样。

我正在使用统一,这就是我应该设计模型的方式。

  1. 这是一款手机游戏。所以我为这辆车写了一个转向控制器,来控制它的左右,速度是恒定的。

  2. 有两个刚体。

car_fig_0

  1. 前面的白色盒子和灰色的大盒子都是刚体。用铰链接头连接。

  2. 每帧上的前框在它自己的 z 轴上旋转一定的度数并向前移动一点。因此遵循一个圆形。旋转多少取决于我的转向。

  3. 我可以使两个物体运动并确保它们遵循圆形并以这种方式移动,但我也希望在碰撞期间有适当的行为,在最终计划中可能会有各种碰撞。所以我使用加力方法使它们运动并增加速度。就其本身而言,前箱是完美的,当我改变转向时,它会绕圈旋转,圆圈变大一切都很好,但是当我添加其他底盘箱时,力都搞砸了。离心力和惯性使一切变得混乱。

  4. 基本上我需要汽车漂移是完美的圆圈,用户应该能够控制圆圈的半径。对此进行建模的最佳方法是什么。

这是两个刚体的代码。

  1. 前框代码。这只是固定更新方法。请忽略控件相关代码。这是不必要的,所以我把它省略了。

    /li>

Utils.exp_linear 和 exp_range 函数只是具有一定张力的范围到范围映射器,以控制控件上转向的灵敏度。

  1. 机箱代码。

    /li>

我想知道如何在统一中实际实现这样的事情。我对这种统一的东西很陌生。我看了一遍,有很多 3d 汽车的东西,但自上而下的东西不多。感谢任何形式的反馈。

0 投票
2 回答
447 浏览

algorithm - 楼梯问题中的递归 W/Memoization 是自下而上的吗?

将经典楼梯问题考虑为“戴维斯在他的房子里有许多楼梯,他喜欢一次爬每一个楼梯 1、2 或 3 级。作为一个非常早熟的孩子,他想知道有多少种方法可以到达楼梯顶。”

我的方法是使用带有递归的记忆作为

我想到的问题是,这个解决方案是自下而上还是自上而下。我的处理方法是,因为我们一直向下计算上 N 个值(想象一下递归树)。我认为这是自下而上的。这个对吗?

0 投票
1 回答
462 浏览

algorithm - 使用(递归)动态编程的交替子串

我的任务是用递归动态编程方法解决交替子字符串问题:

考虑一个整数序列 A = a1, a2, a3, ... an。a 的子序列 B 是一个序列 B = b1, b2, .... ,bn,它是通过删除一些元素但保持顺序从 A 创建的。给定一个整数序列 A,目标是计算 anb 交替子序列 B,即序列 b1, ... bn 使得对于 {2, 3, ... , m-1} 中的所有 i,如果 b{i- 1} < b{i} 然后 b{i} > b{i+1} 如果 b{i-1} > b{i} 然后 b{i} < b{i+1}

到目前为止,我需要检查每个递归步骤,如果我想获取元素并寻找下一个交替数字,或者我只是获取下一个数字并从两种可能的交替开始。

s index from left e end ( len(Array)) 一个数组 g(A,s) 一个函数,它得到下一个更大或更小的整数。

我的递归公式是:V(A, s, e) = max( V(A, g(A,s),e), V(A, s+1, e) ) +1

V(A, g(A,s),e) 获取元素并继续下一个交替

V(A, s+1, e) 离开元素并在下一个元素开始新序列

假设我的实现和方法是正确的,我建议将运行时间设置为 O(n^2),因为我们需要知道每个组合。

如果没有催眠部分,它将是 O(2^n),就像二叉树的叶子数量一样。

这个分析正确吗?可能只是对公式正确,但对代码不正确......

函数 getsmaller 和 getbigger 是 g(A,s)

0 投票
1 回答
79 浏览

c# - 为什么 unity 让我的 Canvas 使用 OnTriggerEnter() 停用?在 Untiy2d 中使用 Collider 激活文本

我无法使用我的 Interactable(Coin) 脚本和 OnTriggerEnter() 激活我的 Canvas。当我的播放器与我的硬币碰撞时,我想激活画布(显示我的文本)。脚本在我的 Coin GameObject 中。我的 CoinCollider 在 IsTrigger 上。

我尝试只显示没有画布的文本并观看教程。

0 投票
1 回答
194 浏览

unreal-engine4 - 如何在 UE4 中向特定方向发射光线?

我试图从我的棋子位置开始绘制一条一定长度的调试线,并沿着鼠标点击的方向移动,但我一直得到非常奇怪的结果。有时它有效,但大多数情况下无效。似乎这取决于我角色的位置。蓝图:https ://imgur.com/e5MLOln 截图:https ://imgur.com/n7KBHI8

0 投票
1 回答
97 浏览

c# - 当我点击播放时,我的 Sprite 角色会旋转。为什么?

我正在 Unity 上制作一个自上而下的游戏,所以我使用 x 和 z 轴作为我的平面。我让我的角色旋转 x 90, y 0, z 0 使其平放在平面上。一旦我点击播放,角色就会垂直旋转?!我认为这与我的脚本面对鼠标位置有关。

它应该是什么样子:

在此处输入图像描述

当我点击播放时:

在此处输入图像描述

0 投票
1 回答
44 浏览

java - 关于自上而下的方法soap Web服务wsimport工具问题wsimport在jdk bin文件夹中找不到所以请修复这个问题

wsimport在 jdk bin 文件夹中C:\program Files\jdk11.0.1\bin不可用。

请帮助我,直到 WSDL 完成,但是wsimport;如果 O\I 在命令行工具中使用,则无法识别,因此请帮助我解决此问题

0 投票
1 回答
566 浏览

python - Python / Pygame - 如何创建用于查看世界地图的相机(自上而下,无玩家角色)

我正在尝试实现一个相机功能,它的工作原理是图像移动 - 但是:

1)如果我没有移动相机,后续图像 - 例如新菜单 - 将在创建它们的位置创建。因此,如果我将相机向右移动 30 个像素,则在 (0,0) 处创建的后续图像现在将在 (30,0) 处创建。这也适用于与按钮交互;在上面的示例中,要使用在 (0,0) 处创建的按钮,我需要将鼠标放在 (0,0) 上,即使按钮现在出现在 (30,0) 处

所以如果我移动我的相机,我会得到类似https://i.imgur.com/FsydpSj.png的结果(看看我是如何在鼠标在它上面时选择一个新游戏的?我的鼠标在哪里,按钮在哪里在我移动相机之前)或https://i.imgur.com/wAr9pFJ.png(游戏记得我在上一个菜单中移动了相机,现在在原始菜单所在的位置创建下一个菜单,之前我移动了相机

2)如果我创建一个大于屏幕宽度或屏幕高度的图像,然后移动相机,我实际上看不到图像的其余部分。相反,我看到的是这样的:https ://i.imgur.com/e0qgUW1.png

因此,游戏没有显示地图的其余部分,而是移动了一个快照(屏幕宽度大小为屏幕高度): https ://i.imgur.com/pYMsR8B.png - 但如果我放大菜单,你可以看到地图实际上应该大得多,我显然想在移动相机时看到地图的其余部分:https ://i.imgur.com/Y3WmcBa.png

相关变量在 Controller 类中声明:

相关功能,都在Controller里面

非常感谢您的帮助。:)

0 投票
1 回答
341 浏览

dynamic-programming - 动态规划中回溯解决方案的制表与记忆(前 LCS)

假设我们使用记忆化(自上而下方法)或制表法(自下而上)使用动态编程来处理两个字符串之间的最长公共子序列问题。

我的问题是,可以更改这两种方法中的哪一种以另外返回最长的公共字符串(超出其长度)?我的意思是:

两种方法都可以改变来实现这一点还是取决于问题?

[编辑]
我的直觉是,记忆方法可以“轻松”更改,以便跟踪实际解决方案。但是,鉴于制表方法中的“表格内容”,我看不到一种简单的方法(或一般方法)来回溯解决方案。请尽可能笼统地回答(不是专门针对 LCS 问题)。

0 投票
3 回答
2676 浏览

unity3d - Unity - AddForce() 同时使用 MovePosition() 进行移动

我正在开发我的自上而下的游戏,但我被卡住了。我试图让玩家在敌人击中他时被击退(他们的刚体碰撞)。

现在的问题是我正在使用 MovePosition 进行玩家移动,然后当我使用任何会改变玩家 RB 速度的东西(设置速度/AddForce())时,力/速度只会在一瞬间被应用。我认为这是因为我使用了 MovePosition,它以某种方式忽略或重置了速度。

有什么方法可以解决这个问题,而不必让玩家控制基于以最大速度增加力量或计算击退持续多长时间?

很快,我希望击退平稳,因为现在我必须添加一个非常高的力才能获得非常快速(基本上是即时)的运动。