更新播放器的Lua代码';s位置和屏幕 函数更新(事件)——检查游戏是否结束 如果gameOver==true,则 返回 结束 fWait=(wTime>0) 如果等待,那么 wTime=wTime–0.01 如果wTime

更新播放器的Lua代码';s位置和屏幕 函数更新(事件)——检查游戏是否结束 如果gameOver==true,则 返回 结束 fWait=(wTime>0) 如果等待,那么 wTime=wTime–0.01 如果wTime,lua,constants,Lua,Constants,在上面的代码中,什么是外汇和财政?为什么gx乘以一个常数,fx乘以(1-常数)?没有更多信息,很难说清楚,但看看这个: function update(event) -- check if the game is over if gameOver == true then return end fWait = (wTime > 0) if fWait then wTime = wTime – 0.01 if wTime < 0 then

在上面的代码中,什么是外汇和财政?为什么gx乘以一个常数,fx乘以(1-常数)?

没有更多信息,很难说清楚,但看看这个:

function update(event) -- check if the game is over
  if gameOver == true then
    return
  end
  fWait = (wTime > 0)
  if fWait then
    wTime = wTime – 0.01
    if wTime < 0 then
      wTime = 0
    end
    return
  end
  if hasAccel==true then
    local gx, gy = getAcceleration()
    fx = gx * filter + fx * (1-filter)
    fy = gy * filter + fy * (1-filter)
    updatePlayer(fx, fy)
  end
end
stage:addEventListener(Event.ENTER FRAME, update)
这得到了设备的加速度。基于过滤器没有物理单位这一事实,
fx
也是一种加速(尽管有时开发人员会通过对时间段之类的假设来走捷径并删除单位,但我认为这里的情况并非如此)

  • 如果filter为0,则新的fx只是以前的fx,每次调用此
    更新(事件)
    (没有关于如何计算fx的信息,它也可能在程序的其他部分得到更新)
  • 如果过滤器为1,则fx仅为gx(设备加速),不考虑以前的fx值

因此,
filter
似乎是给设备加速度的一个相对权重:当权重为零时,没有使用设备加速度,因此
fx
只是迄今为止计算的结果;当重量为1时,
fx
完全是由于设备加速,因此它只是
gx
。对于所有其他中间值,更新后的
fx
是重力和fx先前值的比例混合:filter=0.25表示使用1/4设备加速度效应,其余(1-1/4或3/4)为迄今为止计算的
fx

代码来自何处?请按了解IOS游戏开发的Lua,本书末尾给出的直升机游戏开发
fx,fy
可能是某个物体的速度,其运动由屏幕倾斜控制。新点
(fx,fy)
将以
(fx,fy)-(gx,gy)
的比率对段
(1-过滤器)
进行分割。我想是某种惯性模拟。我想知道最后一个
end
结束了什么。提示:不要显式地与真/假进行比较。这基本上是不必要的,除了使代码僵化之外,可能会减慢代码的速度。非常感谢:)这真的很有帮助。
local gx, gy = getAcceleration()
fx = gx * filter + fx * (1-filter)