Lua中监视变量的变化

  1. 如何创建一个函数来监视变量的变化?

我正在寻找一种监视变量变化和变化方向的运算符。很久以前,我使用VB来测试变量是否有变化。它们被称为触发器+,触发器-,和udptrigger。我的目标是创建一个文本到语音脚本,就像飞行模拟器中的虚拟飞行训练师一样。如果目标高度是2000英尺,而学生偏离高度200英尺,则声音应该说。 "你太高了,降到2000英尺"。对于这种情况,我想监视alt_delta变量,它是目标高度(target_alt)和当前指示高度(alt_ind)之间的差异。我有找到alt_delta的代码,但现在我想监视新创建的delta变量。因此,如果alt_delta从198英尺移动到202英尺,就会发生一个trigger+ve事件。在这种情况下,触发器得到满足,代码将发送一个事件来播放声音。

我创建了三个函数来测试三种类型的触发器:

function **triggerpos** (var_test, value_test)
--  var_test是要监视的变量,如“alt_delta”
--  value_test是触发点,例如200

function **triggerneg** (var_test, value_test)

function **monitor** (var_test)

因此,在上述高度差示例中,代码将如下所示:

function monitor_alt ()

  if triggerpos("alt_delta",200and target_alt>alt_ind then

    XPLMSpeakString("检查你的高度。  你太低了。爬到"  ..
      target_alt.. "英尺。")

  elseif triggerneg("alt_delta",-200)和target_alt\u003c将会触发alt_ind的变化

    XPLMSpeakString("检查你的高度。 你太高了。 降到"
      .. target_alt.. "英尺。")

  end

对于监视器(作为示例),我需要检查我的情景逻辑状态。这是一个整数,因此它是一个整数。例如:

monitor("scenario_state") and scenario_state= 998

基本上只需要问情景_state是否有变化,如果有的话,它是否变成了998的值?我不在乎变化的方向,只要它变了并且变成了什么值。

我在网上搜索答案,但代码都是用C ++或Java编写的,我看不懂。请帮帮我...我是一名新手...抱歉。

点赞