1)如何创建一个监视变量变量的函数?
我正在寻找某种操作符来监视变量的变化和变化方向。回过头来,我用VB来测试变量是否已经改变。它们被称为trigger + ve,trigger-ve和udptrigger。我的目标是创建一个Text-To-Speech脚本,其作用类似于飞行模拟器中的虚拟飞行教练。如果目标高度是2000英尺,并且学生偏离200英尺到高,那么声音应该说。 "你太高了,下降到2000英尺"。对于这种情况,我想监视变量alt_delta,它是目标高度(target_alt)和当前指示高度(alt_ind)之间的差异。我有代码找到alt_delta,但现在我想监视新创建的delta变量。因此,如果alt_delta从198英尺移动到202英尺,则会发生触发+ ve事件。在这种情况下,触发器被满足,代码将发送一个事件来播放声音。
我创建了三个函数来测试三种类型的触发器:
function **triggerpos** (var_test, value_test)
-- var_test is the variable to monitor, like "alt_delta"
-- value_test is the trigger point, like 200
function **triggerneg** (var_test, value_test)
function **monitor** (var_test)
所以在上面的高度增量示例中,代码看起来像:
function monitor_alt ()
if triggerpos("alt_delta",200) and target_alt > alt_ind then
XPLMSpeakString("Check your altitude. You are too low. Climb to " ..
target_alt .. " feet.")
elseif triggerneg("alt_delta",-200) and target_alt < alt_ind then
XPLMSpeakString( "Check your altitude. You are too high. Descend to "
.. target_alt .. " feet.")
end
对于监视器,(作为示例)我需要检查我的场景逻辑的状态。这是一个整数,所以它是一个整数。例如:
monitor("scenario_state") and scenario_state=998
基本上只是询问scenario_state是否已更改,如果是,则更改为值998 ??我不关心改变方向,只是改变DID和改变价值。
我在网上搜索了答案,但代码全部是用C ++或java编写的,我无法理解。请帮忙......我是新手......抱歉。