ブラシスクリプトのデバッグに最適!数値描画ルーチン「GND」を公開!

おすすめ記事

おすすめ記事
 
ノートブック画像

みなさんこんにちは!

今回はブラシスクリプト(解説)のデバッグに最適な

「数値描画ルーチン」である‘GND’を開発しました

ので、公開します!

ブラシスクリプト
‘ブラシスクリプト’(Brush Script)とは、‘mdiapp+ファミリー(解説)’で使えるブラシの一種です。このブラシスクリプトには以下のような、様々な便利なものが開発され、公開されています。 このようなブラシをダウンロードしたのちに、使用中のソフトに登録すれば、簡単に使えるようになります。ブラシスクリプトの一例木の葉ブラシ 草ブラシ 砂ブラシ 星空ブラシ 竹ブラシ 鎖ブラシ:ペンを動かすだけで複雑な鎖が自由自在!(Site) ...
ブラシスクリプト・デバッグ用数値描画ルーチン「GND」のアップデートver0.0.2
みなさんこんにちは!ブラシスクリプトを効率的にデバッグするための、数値描画ルーチンである‘GND’をバージョンアップしましたので紹介します!


実際の動作例

ブラシスクリプトのmain処理が、実行時にどのような値を受けているか表示できるブラシを開発してみました。

概要

これは主にブラシスクリプトの開発者が、開発時のデバッグ作業を効率化するためのものです。

内部に「IPAex明朝フォント」(Site, Download)をベースにした「0-9」、「.」、「-」の各形状データがベジェデータとして記録されています。

ただし、内部で大量のベジェ画像を生成して表示しするため、かなりのマシンパワーが必要です。

重要特に、RAM(メモリ)を大量に搭載した、64bit環境のパソコンで使用することをお勧めします。

また値を出力する際には、関数の内部から「tostring」を呼び出すことで、一様に文字列として扱っています。


API

APIGanohr’s Numbers Drawer(GND)

  • GND_CHAR_SIZE.w ― 印字される数字の横幅を示す
  • GND_CHAR_SIZE.h ― 印字される数字の縦幅を示す
  • gnd_cursor.x ― 数字を出力するX座標の位置を示す
  • gnd_cursor.y ― 数字を出力するY座標の位置を示す
  • gnd_locate(x, y) ― 数字の出力座標を、指定座標へ変更する
  • gnd_print(nums) ― 指定した数字を印字し、カーソルを移動する
  • gnd_println(nums) ― 指定した数字を印字し、カーソルを次行行頭へ移動する
  • 0.0.2gnd_println() ― カーソルを次行行頭へ移動する

※ numsは通常の数値だけでなく、数字文字列や、半角スペースやハイフン記号なども指定できます。
※ 数字やピリオド、ハイフン記号以外を指定すると空白文字として認識します。


GNDの使用例

以下に実際の使用例を示します。
GNDを用いれば、デバッグ作業がかなり効率的になることでしょう。

ただし、GNDは重いので、以下のような配慮が必要です。

重要GNDを使う上での留意事項

  • プレビュー動作中に呼び出さないこと
  • 一定期間毎に、間隔をあけて描画すること(最低でも50ms以上空けること)
  • 大量の情報を表示させないこと


function main(x, y, p)
  bs_pixel_set(x, y, 0, 0, 0, 255)
  
  if(bs_preview()) then
    return 0
  end
  
  local ms = bs_ms()
  if(ms_next > ms) then
    return 1
  end
  
  local timing = bs_param1()
  local lines = bs_param2()
  ms_next = ms + 50 + timing * timing * 4.5
  
  gnd_print(x) gnd_print("  ")
  gnd_print(y) gnd_println("  ")
  if(gnd_cursor.y >= lines) then
    gnd_locate(0, 0)
  end
  
  return 1
end

function param1()
  return "TIMING", 0, 10, 5
end

function param2()
  return "LINES", 1, 10, 10
end

ms_next = 0


ダウンロード

以下のリンクをクリックしてダウンロードしてください。

GND_ver0.0.2

GNDはブラシスクリプトに数値及び「-」(半角ハイフン記号)と「.」(半角ドット記号)を出力する機能を追加する関数群です。ブラシスクリプトを開発する上で、デバッグ用に用いることができます。


最後に


ブラシスクリプトはとても便利ですが、通常、文字や数字を描画することができません。ログ出力機構もありません。

それを強引に実現しているこのGNDは、使用頻度こそ低いものの、ブラシスクリプトの開発者にはとても便利なものと言えるでしょう。

そして、今回の開発で得たノウハウを活かして、新たなブラシの開発も進めています。

今後とも当サイトをよろしくお願いします!

更新履歴:
2017/09/21 ダウンロードマネージャを使用するよう変更
2017/08/09 ver0.0.2を公開
2017/07/31 ダウンロードリンク変更
2017/07/28 初版公開