TI-Nspire & Lua / スクリプティングのヒント / Nspire 側の変数を Lua に呼ぶときは on.timer() 内で var.recall() を使うのではなく var.monitor() と on.varChange() とを使う

参考:




.lua

--[[方法 1. on.timer() 内で var.recall() を使う
local slider1 = nil
function on.construction()
   on.timer() -- 最初に Nspire 側の変数の初期値を呼んでから
   timer.start(0.1) -- タイマーをスタートする。
end
function on.timer()
   slider1 = var.recall("slider1") -- タイマーの tick するたびに Nspire 側の変数の現在の値を lua に呼ぶ。
end
function on.paint(gc)
   gc:fillRect(0, 25, slider1, 10) 
end
--]]


---[[方法 2. var.monitor() と on.varChange() とを使う
local slider1 = nil
function on.construction()
   on.varChange() -- 最初に Nspire 側の変数の初期値を呼んでから
   var.monitor("slider1") -- その変数を監視対象にする。
end
function on.varChange()
   slider1 = var.recall("slider1") -- 監視対象の Nspire 側変数が変化したら lua に呼ぶ。
end
function on.paint(gc)
   gc:fillRect(0, 25, slider1, 10) 
end
--]]


.tns
slider1.tns - Google ドライブ