Luaレッスン10.3「仕上げ」和訳

原典:

http://compasstech.com.au/TNS_Authoring/Scripting/script_tut10.html

レッスン10.3「仕上げ」

あとは見た目をよくして完成です。矢印キーを追加すれば、何もかもスライダーで操作する必要がなくなりますので、コンピューター、ハンドヘルドのどちらでもドキュメントがずっと使いやすくなります。それどころか、本ドキュメントをTI-Nspire Document Playerで使う必要が無いのであれば、この手順が終わったあとでスライダー用のウィンドウは実際に削除しても構いません。

上下の矢印キーでnの値を変えることにします。左右の矢印キーで種類を切り替えることにします。tabキーで円の数を増やすことにします。escキーでtabの値が減るようにします。

もう一度サンプル・スクリプトをよく調べて、その動作を理解してください。このサンプル・スクリプトに含まれる函数のほとんどは、変数の上限、下限を設定しておいたほうがよいでしょう。たとえば下向き矢印を押し続けると、値が0以下になってしまうからです。どのようにしてこれを回避しているのかを理解してください。

変数tabと各スクリプトとをよく調べてください。その仕組みを理解してください。

最後になりますが、作成したスクリプトをコンピューター上だけでなくハンドヘルドでもうまく実行できるようにしたい場合は、もうひとつ大切なことが残っています。ハンドヘルドの場合、何らかの変化を画面に表示するためには、ウィンドウを頻繁にリフレッシュする必要があります。方法はいくつかありますが、効率的な方法の1つは、以下の2つの函数を先頭にスクリプトを開始することです。

 local screen = platform.window

function on.timer()

     screen:invalidate()

end

function on.construction()

     timer.start(1/5)

end

 この2つの函数の働きは、毎秒5回の割合で画面の描画を繰り返すことです。こうすれば、ハンドヘルド、コンピューターのどちらで何か変化が生じても、そのほとんどが捕捉できます。表示に変化が生じるようなスクリプトの場合は、安全のためにもこの方法は採用する価値があります。

さらに、ユーザーの理解を深める手段としてダイナミックなテキストを追加したい場合もあるでしょう。サンプル・ファイルにはそうしたテキストがすでに追加されていますが、この時点でそうしたテキストが追加できるようにしておくべきです。

これで、Luaチュートリアル入門篇の今シリーズは終了です。これまでに学んだことを今後も各自のドキュメントに活かしてください。Luaの機能はまだまだあります。これまでに紹介した内容はほんの手始めにすぎません。さらに学習を進めたい場合や、Luaドキュメントをマウスで操作する方法を学びたい場合は、ぜひレッスン11から始まる上級篇へ進んでください。

------------------------------------------------------------

(訳註)今回の実行例

f:id:ti-nspire:20141020104621g:plain