监控变量lua

时间:2017-10-24 22:18:13

标签: function lua

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编写的,我无法理解。请帮忙......我是新手......抱歉。

0 个答案:

没有答案