- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在制作一款类似于 Doodle Jump 的游戏,让您的玩家尽可能地兴奋。现在,我让我的播放器工作并移动。但是,问题是,我没有重力,也没有任何能让玩家再次掉到地上的东西。你们有这样做的想法吗?我试着让玩家获得一个恒定的力,一直被推下去,但是,它并不平滑,而且不像真正的坠落那样。我可以在制作这个玩家掉落系统方面得到一些帮助吗?
编辑:
GRAVITY = 10;
TERMINAL_VELOCITY = 300;
vertical_speed = 0;
public void fall(){
this.vertical_speed = this.vertical_speed + GRAVITY;
if(this.vertical_speed > TERMINAL_VELOCITY){
this.vertical_speed = TERMINAL_VELOCITY;
}
this.y = this.y - this.vertical_speed;
}
我做了这个,没用,把我的播放器射到空中。
最佳答案
在现实世界中,重力会随着时间的推移以恒定量增加下落速度(9.8 米/秒 每秒)。您可以通过给玩家一个垂直速度(当他们跳跃或从平台上掉下来时)来模拟这一点,然后每次在主游戏循环中从该值中减去一个常数,以便他们随着时间的推移加速。你会想要对此(终端速度)设置一个最大限制,否则当它们掉落很长一段距离时,它们可能会很快达到可笑的速度。伪代码看起来像这样:
const GRAVITY = 10;
const TERMINAL_VELOCITY = 300;
object Player
{
int vertical_speed = 0;
int vertical_position;
function fall ()
{
this.vertical_speed = this.vertical_speed + GRAVITY;
if (this.vertical_speed > TERMINAL_VELOCITY)
{
this.vertical_speed = TERMINAL_VELOCITY;
}
this.vertical_position = this.vertical_position - this.vertical_speed;
}
}
编辑:每秒 9.8 米是正确的!请不要对其进行编辑!加速度是通过速度随时间的变化来衡量的,以米/秒/秒表示。每秒 9.8 米意味着静止物体在 1 秒后会加速到足以以 9.8 m/s 的速度行进。 2 秒后,它将达到 19.6 m/s 的速度。 3 秒后,它将达到 29.4 m/s 的速度,依此类推。
老实说,我什至不相信我需要对此进行解释。
关于java - 玩家坠落系统(基本上是重力),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6111574/
这是我的预期输出 我试图在不裁剪图像的情况下获得输出,这是我的代码 .blog-col-group { display: flex; } .blog-col {} .mod-vin-img {
这是我的预期输出 我试图在不裁剪图像的情况下获得输出,这是我的代码 .blog-col-group { display: flex; } .blog-col {} .mod-vin-img {
我正在编写一个 C++ 程序,该程序采用包含 double 的真实输入信号的 FFT。值并返回一个 vector X包含 std::complex值。获得结果 vector 后,我会尝试计算结果的幅度
A B C D 1 3 3 3 3 3 结果很明显,自然加入后 A B C D 1 3 3 3 3 3 3 3 这是为什么?我认为自然连接要求在这两种情况下具有相似的属性?第一张表连C、D属
对于我的网站,我通过 jquery 将所有子页面加载到一个 div 中,该 div 基本上涵盖了除菜单之外的所有内容。结构是这样的,你按下帐户按钮,你会得到登录表单,然后有一个链接(触发一个 oncl
我从 GPUImage 中的边缘检测滤镜得到了一张黑白图像,其中白色代表边缘,图像内容大部分是黑色的,不透明的。问题是,我想将此图像叠加在另一个图像之上,以显示边缘如何与下面的图像对齐。 但是非边缘区
好的,我的数据库类有一个数据库项目。我有一个用 MySQL 制作的数据库,正在用 C# 制作我的应用程序。该数据库基本上只是一个部件数据库,在 4NF 中由部件、关系表、构建、客户和订单表组成,因为这
我在 scipy 中使用 griddata 函数来插入 3 维和 4 维数据。它像冠军一样工作,除了它返回一堆 NaN,因为我需要的一些点超出了输入数据的范围。考虑到 N-d 数据无论如何仅适用于“线
我正在 Linux (Ubuntu) 上编写一个 C++ 程序。我想删除一个目录的内容。它可以是松散的文件或子目录。 本质上,我想做一些等同于的事情 rm -rf /* 您能否建议在 C++ 中执行此
我使用node.js加密文件并在JAVA中解密。解密是使用“AES/GCM/Nopadding”算法在 JAVA 中完成的,它是第三方应用程序,因此我无法更改 JAVA 代码。我使用“aes-256-
我是一名优秀的程序员,十分优秀!