図形配列拡張仕様 - nonkit/Anime GitHub Wiki

ドキュメント > 図形配列拡張仕様

図形配列拡張仕様

Version 1.0.6 たかはしのんき

目的

この仕様では Microsoft Small Basic プログラミング言語での図形配列の三角形と多角形の拡張について定義します。この拡張の典型的なアプリケーションはアニメエディター(英語)ですが、まだ実装できていません。

要求仕様

この仕様は以下のシステムを前提としています。

  • Small Basic v1.2
  • LitDev Extension

定義

この仕様では図形配列の追加データフォーマットとその配列を扱うサブルーチンについて定義します。追加される機能は poly です。機能 tri に関しては二等辺三角形のみではなく、全ての三角形が定義できるよう拡張されました。これは LitDev Extension により、任意の図形の左右反転が可能になったためです。

データフォーマット

配列

配列の名前は shape です。

インデックス

図形配列では以下のインデックスが使用されます。

  • func - 機能 (function) は tri(triangle - 三角形)と poly(polygon - 多角形) です。
  • x - 図形の左端の x 座標。
  • y - 図形の上端の y 座標。
  • x1 - 三角形の任意に選んだ第 1 の頂点の x 座標。
  • y1 - 三角形の任意に選んだ第 1 の頂点の y 座標。
  • x2 - 三角形の任意に選んだ第 2 の頂点の x 座標。
  • y2 - 三角形の任意に選んだ第 2 の頂点の y 座標。
  • x3 - 三角形の任意に選んだ第 3 の頂点の x 座標。
  • y3 - 三角形の任意に選んだ第 3 の頂点の y 座標。
  • width - 図形の幅。
  • height - 図形の高さ。
  • pt - "100,100 200,100, 200,200 100,200" のように多角形の頂点を表す x と y の座標ペア。頂点数は 3 以上。
  • pw - 枠線の幅。
  • pc - "#000000" のような枠線の色。
  • bc - "#FFFF00" のような塗りつぶしの色。
  • fr - 多角形の塗りつぶし規則。"EvenOdd" または "NonZero"。初期値は "NonZero"。
  • name - 図形のユーザ定義名。
  • obj - (内部利用のみ)システムから得られる図形名。
  • rx - (内部利用のみ)スプライトを回転または拡大縮小したときの図形の x 座標。
  • ry - (内部利用のみ)スプライトを回転または拡大縮小したときの図形の y 座標。

polygon

仮想機能(読み込みのみ)

この機能は読み込みのみで出力の際は上記の機能 poly に変換される。

  • func - path(パス)のみ。
  • d - SVG 同様のパス定義。

サブルーチン

  • Shapes_Init - 図形配列とオフセット shXshY を初期化します。
  • Shapes_CalcWidthAndHeight -(内部利用のみ)図形の幅と高さを計算します。
  • Shapes_CalcRotateZoomPos -(内部利用のみ) 図形の回転と拡大縮小のための位置を計算します。
  • Sprite_Add - スプライト配列に name(名前)と図形を追加します。
  • Sprite_Flip - スプライトを中心線を軸に angle[度]左右反転します。
  • Sprite_Hide - スプライトを非表示にします。
  • Sprite_Move - スプライトを (x, y) へ移動します。
  • Sprite_Remove - スプライトを削除します。
  • Sprite_Rotate - スプライトを angle[度]右周りに回転します。
  • Sprite_Show - スプライトを表示します。
  • Sprite_Zoom - スプライトを X 軸方向へ ScaleX、Y 軸方向へ ScaleY 倍に拡大縮小します。

関連項目

他の言語