以下のLuaスクリプトを見てください。Luaスクリプトの関数間で変数を共有する
アイデアはステータスを変更する前に、 "getStateFlag()"を呼び出して "status"変数に割り当てて現在のステータスを取得しています。メソッドChangeState1またはChangeState2は、現在のステータスを変更できます。したがって、後でResetStatusメソッドを呼び出すときに、 "status"という値を保存することで古いステータスにリセットすることができます。
しかし、問題がある、この「状態」変数は常に0
function Start()
status = 0
local flag = getStateFlag()
if(flag == 1) then
status = getCurrentStatus()
ChangeState1()
else if(flag == 2) then
status = getCurrentStatus()
ChangeState2()
else
ResetStatus(status)
end
end
function ChangeStatus1()
device::set_value(1)
end
function ChangeStatus1()
device::set_value(2)
end
function ResetStatus(status)
device::set_value(status)
end
質問を編集して、実行中の環境について説明してください(何らかの組み込みプロセッサのように聞こえるのですか?)。他のユーザーが経験したことがある場合は、アイデアを持っている可能性があります。 – solublefish