球的重力模拟
Gravity simulation for a ball
本文关键字:模拟 更新时间:2023-10-16
我正在实现这个使用重力的游戏,但我不知道如何模拟球的重力。
我有一个计时器,在我"放下"球后立即启动,我必须设置对象球的垂直位置。
相关功能包括:
int ball->setVerticalPosition(int Y);
float timer->getTime();
谢谢!
好的,一般来说,你会用这个公式计算新位置(pos_y):
t = timer->getTime();
float pos_y = pos_y0 + v_0*t - 4.9 * t *t;
ball->setVerticalPosition(pos_y);
(v_0是初始速度,pos_y0球的初始坐标)。在您的情况下,您说您正在"掉落"de ball,因此删除v_0 * t可能会更好。pos_y0是原始高度(取决于您的坐标系)。
不要忘记检查何时pos_y=0(可能是您的楼层!
我给了4.9,因为重力是9.8,方程是"1/2*g*t*t",我只是除以并给出了最终的数字。这是以"米"为单位,例如应该转换为像素。
相关文章:
- 如何使用Google Mock来模拟gettimeofday()
- G锁定铸造到基础上会释放模拟行为
- 有什么好的方法可以让系统调用代理允许在单元测试中进行模拟
- 落砂模拟碰撞检测C++和SFML
- 在gtest.中使用fff.h模拟系统API
- 谷歌模拟和覆盖关键字
- 用C#中的并集模拟C++嵌套结构
- 在同一模拟中使用静脉和静脉_ inet内容时出现运行时错误
- 在模拟器中使用并集来模拟CPU寄存器有多合适
- 我写了一个C++程序来模拟Enigma机器.我没有得到输出
- 如何模拟不同边数的骰子滚动?
- 模拟持久按键
- 使用SIR模型的疾病爆发模拟
- 在 c++ 中模拟输入并在 JAVA 中读取它?
- 转发变量参数列表以模拟 std::thread
- 如何在谷歌模拟中匹配 C 样式数组
- 如何使用兰德随机化模拟点击
- 模拟GPS数据,以便使用Qt与Traccar一起使用
- QKeyPress - 在Qt中模拟按键
- 如何使用不同的谷歌模拟运行相同的谷歌测试用例?