Lua代码来更新玩家的位置和屏幕。
2014-5-2 10:44:36
收藏:0
阅读:129
评论:1
在上述代码中,fx和fy是什么?为什么gx乘以一个常数而fx乘以(1-常数)?
fx和fy是代表物理引擎中的力或加速度的变量。gx乘以一个常数是为了对gx进行平滑处理,通过滤波器过滤掉不符合物理特性的高频噪声,保留低频特征,从而得到更加平滑的加速度值。而fx的平滑处理则是要保留之前已有的效果,所以用一个(1-常数)来保留之前的值。
点赞
评论区的留言会收到邮件通知哦~
推荐文章
- 如何将两个不同的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中获取用户配置主目录的跨平台方法
很难没有更多信息就下结论,但是看这个:
local gx, gy = getAcceleration() fx = gx * filter + fx * (1-filter)这是获取设备的加速度。根据 filter 没有物理单位的事实,
fx也是加速度(尽管有时开发者会缺省单位,通过对时间周期等做出假设,但我不认为这是这种情况)。fx就是上一个fx,每次调用此update(event)时都是如此(关于如何计算fx没有更多信息,它可能在程序的其他部分得到更新)。fx只是设备加速度gx,而没有考虑上一个fx值。因此,
filter看起来是设备加速度给予相对权重的一种方式:当权重为零时,没有使用设备加速度,所以fx只是迄今为止计算出的任何东西。当权重为 1 时,fx完全由设备加速度决定,因此只是gx。对于所有其他中间值,更新的fx是重力和先前fx的比例混合:filter=0.25 意味着使用 1/4 的设备加速度作用,以及迄今为止计算出的其他部分(1-1/4 或 3/4 的fx)。