2. 文字を描画してみる

TPIPAquariumは,スクリプトで自在に動作を変えることができます.
簡単な例として,画面に文字を描画してみましょう.


scripts\UserMain.py」を適当なテキストエディタで開きます.中には,次の4つの関数が定義されています.

scripts\UserMain.pyで定義されている関数



GetPriority()
GetName()
OnMove(context)
OnDraw(context)

これらの関数はTPIPAquariumから必要に応じて呼び出されます.

今回は,画面に文字を描画することが目的なので,
TPIPAquariumで画面の再描画が必要なときに呼び出されるOnDraw関数を書き換えます.

OnDraw関数の定義は次のようになっているはずです.

OnDraw関数(書き換え前)

def OnDraw():
    drawString(0, 0, "MyTask is operating", color=(255,255,255))
    # 0以外を返すとこのタスクは死亡する.
    return 0

とりあえず,「scripts\UserMain.py」は置いておいて,「bin\TPIPAquarium.bat」を実行します.
次のように,画面左上に"MyTask is operating"と描画されたウィンドウがでるはずです.

※ここで開いたウィンドウは次の説明でも引き続き使用します.しばらく開いておいてください.

この文字を描画しているのは,OnDraw関数の中にあった,drawString関数です.

drawString関数は,次のようなのパラメータをとります.

drawString関数のパラメータ

drawString(x, y, s, color)
x 描画先のx座標
y 描画先のy座標
s 描画する文字列
color 文字列を描画する色.Noneを指定するとデフォルトの値が使用される.色を指定するにはTupleを用いてcolor=(r, g, b)のようにする.たとえば,橙色にするなら,color=(255,128,0)とすればよい.

これにしたがって,座標(100,200)に水色で"Test"という文字を表示してみましょう.

OnDraw関数を次のように変更します.(※青マーカー部を追加

OnDraw関数(書き換え後)

def OnDraw():
    drawString(0, 0, "MyTask is operating", color=(255,255,255))
    drawString(100, 200, "Test", color=(0,255,255))
    # 0以外を返すとこのタスクは死亡する.
    return 0

変更を加えたら,「scripts\UserMain.py」を上書き保存します.

次に,TPIPAquariumでキーボードのF3キーを押して,スクリプト管理画面を表示します.

スクリプト管理画面で,「scripts\UserMain.py」を選択した状態で,右クリックします.
コンテキストメニューから再読み込みを選択し,スクリプト管理画面を閉じます.

すると,次のように,少し右下に"Test"の文字が描画されるはずです.

以上で,文字の描画の説明は終わりです.次はキー入力です.

Comments