Clamp player thrust influence
2016-4-22 2:0:50
收藏:0
阅读:91
评论:1
如何进行限制推力的影响:
_示例:火箭可以在其旋转的方向上推进。只有爆炸可以将它推动超过其最高速度。我正在寻找的是一种理论而不是代码。
任何帮助将不胜感激。
已解决
编辑:最高速度由推力速度和摩擦力确定。
推力可以叠加到速度上,但当摩擦力大于推力速度时,就会达到最高速度。
vx = (vx + fx) * fr -- 速度 = (速度 + 力) *摩擦
vy = (vy + fy) * fr
当速度足够高时,力的添加将被摩擦减去。
fr=0.9:很难看到最高速度
fr=0.6:易于看到最高速度
点赞
评论区的留言会收到邮件通知哦~
推荐文章
- 如何将两个不同的lua文件合成一个 东西有点长 大佬请耐心看完 我是小白研究几天了都没搞定
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?
- addEventListener 返回 nil Lua
- Lua中获取用户配置主目录的跨平台方法
控制:向左,向右和推力
推进的最高速度可以通过摩擦力进行调整。
- 变量 - 玩家 = { frc = .95, -- 摩擦力 acc = .05, -- 加速度 max = .5, -- 最大加速度 deg = 0, -- 以度表示的旋转角度 rad = 0 -- 以弧度表示的旋转角度 -- 顺时针旋转,0指向右侧 } - 主要更新 - function love.update() 控制(玩家) 应用速度(玩家) end - 更新 - function 控制(a) 如果 L 则 addRotation(a,-5) end 如果 R 则 addRotation(a, 5) end 如果 U 则 加推力(a) else 推力关闭(a) end end function 应用速度(a) -- 速度+力量 a.vx = (a.vx + a.fx)* a.fr a.vy = (a.vy + a.fy)* a.fr -- 位置+速度 a.x = a.x + a.vx a.y = a.y + a.vy end - 其他 - function 加推力(a) 加速(a) 旋转距离(a) end function 推力关闭(a) a.f = 0 -- 力的整数用于将其转换为点(x,y)和(rad) a.fx = 0 a.fy = 0 end function addRotation(a,deg) a.deg = a.deg + deg a.rad = math.rad(a.deg) -- math.sin/cos函数使用弧度而不是度数 end function 加速(a) a.f = a.f + a.acc 如果 a.f > a.max 则 a.f = a.max end end function 旋转距离(a) -- 力的终点从玩家旋转 a.fx = a.f *math.sin(a.rad) a.fy = a.f *math.cos(a.rad) end