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