N88-BASIC(86) DRAW命令
DRAW
- 機能
- グラフィック描画サブコマンド列(文字列)に従って、ワールド座標上で図形を描く
- 書式
- DRAW 文字列式
- 文例
- DRAW"U50R50D50L50"
DRAW "C7T150,50Z=TILE$;"
DRAWでは,複数のグラフィック描画サブコマンドを使って図形を描きます.〈文字列式〉内に指定可能なグラフィック描画サブコマンドは,一般的には次のような形式です.
(〈修飾子〉) 〈識別子〉 (〈パラメータ1〉)(, 〈パラメータ2〉)・・・
(1)修飾子
〈修飾子〉としては, BおよびNを指定することができます.〈修飾子〉は〈識別子〉の補助的な役割を果たすもので,次のような意味をもちます.
- B 〈識別子〉で示されるサブコマンドの実行は実際には行わず, LP(最終参照点)のみをサブコマンド実行後の値にします.
- N 〈識別子〉で示されるサブコマンド実行後, LPを(0,0)とします.
なお, BおよびNを同時に指定した場合は,〈識別子〉で示されるサブコマンドの実行は行われず, LPが(0,0)となります.
(2)識別子とパラメータ
〈識別子〉は,いろいろな描画機能を表すもので,英字1文字のサブコマンドで指定します.
〈パラメータ1〉,〈パラメータ2〉は,各サブコマンドに対応した数値定数または変数で,以下の形式で指定します.
〈数値定数〉[;]
または,
=〈変数〉;
数値定数として指数形式を用いることはできません.また, 16進表記で数値定数を表す場合には,その後に必ず,セミコロン(;)をつけなければなりません.
変数を指定する場合は,その直前には等号(=)を,直後にはセミコロン(;)を,それぞれ必ずつけるようにしてください.
〈識別子〉に指定するサブコマンドとその〈パラメータ〉について以下に説明します.
A 〈パラメータ1〉
グラフィック描画サブコマンドの現座標系を,〈パラメータ1〉に0〜3までの整数値を指定することにより,以下の状態に規定します.
Aサブコマンドによって規定された座標系はDRAWのグラフィック描画サブコマンドに対してのみ有効なもので,ワールド座標系が変化するわけではありません.初期状態では,〈パラメータ1〉の値は0となっています.
C 〈パラメータ1〉
グラフィック描画サブコマンドによって描画される図形のパレット番号を規定します.〈パラメータ1〉にはパレット番号を指定します.Cサブコマンドによって規定されたパレット番号は,グラフィック描画サブコマンドに対して有効なものであり,フォアグラウンドカラーを変更するものではありません.
初期状態では,〈パラメータ1〉の値はフォアグラウンドカラーとなっています.
D 〈パラメータ1〉
LPから,現座標系のY軸に沿って〈パラメータ1〉Xスケール値分だけ正の方向へ移動した点まで直線を描画します.スケール値については,Sサブコマンドを参照してください.
E 〈パラメータ1〉
LPから,現座標系のX軸に沿って〈パラメータ1〉Xスケール値分だけ正の方向に,さらにY軸に沿って〈パラメータ1)Xスケール値分負の方向に移動した点まで直線を描画します.
F 〈パラメータ1〉
LPから,現座標系のX軸に沿って〈パラメータ1〉Xスケール値分だけ負の方向に,さらにY軸に沿って〈パラメータ1)Xスケール値分負の方向に移動した点まで直線を描画します.
G 〈パラメータ1〉
LPから,現座標系のX軸に沿って〈パラメータ1〉Xスケール値分だけ負の方向に,さらにY軸に沿って〈パラメータ1)Xスケール値分正の方向に移動した点まで直線を描画します.
H 〈パラメータ1〉
LPから,現座標系のX軸に沿って〈パラメータ1〉Xスケール値分だけ正の方向に,さらにY軸に沿って〈パラメータ1)Xスケール値分正の方向に移動した点まで直線を描画します.
L〈パラメータ1〉
LPから,現座標系のX軸に沿って〈パラメータ1〉Xスケール値分だけ負の方向へ移動した点まで直線を描画します.
M 〈パラメータ1〉,〈パラメータ2〉
LPから,ワールド座標系のX座標=〈パラメータ1〉, Y座標=〈パラメータ2〉の点まで直線を描画します.
P (〈パラメータ1〉)
LPを含み,〈パラメータ1〉で指定したパレット番号で描かれた境界線で固まれた領域を,色またはタイルストリングでぬりつぶします.〈パラメータ1〉が省略された場合には, Cサブコマンドで指定されているパレット番号が採用されます.Pサブコマンドを実行するときは, LPはウインドウ内になければなりません.Pサブコマンドによってぬりつぶしを行う際の,色やタイルストリングの指定方法については,Zサブコマンドを参照してください.
Q 〈パラメータ1〉,〈パラメータ2〉
LPから,現座標系のX軸に沿って〈パラメータ1〉Xスケール値分, Y軸に沿って〈パラメータ2〉Xスケール値分それぞれ正の方向へ移動した点までを対角線とする長方形を描画します.
R 〈パラメータ1〉
LPから,現座標系のX軸に沿って〈パラメータ1〉Xスケール値分正の方向に移動した点まで直線を描画します.
S 〈パラメータ1〉
グラフィック描画サブコマンドで指定される相対位置のパラメータのスケール値(倍率)を規定します.〈パラメータ1〉はスケール値を表し,0より大きな値でなければなりません.
初期状態では,〈パラメータ1〉の値は1となっています.
T 〈パラメータ1〉,〈パラメータ2〉
Qサブコマンドと同様にして長方形を描画した後,その内部をぬりつぶします.Tサブコマンドによってぬりつぶしを行う際の,色やタイルストリングの指定方法については,Zサブコマンドを参照してください.
U 〈パラメータ1〉
LPから,現座標系のY軸に沿って,〈パラメータ1〉Xスケール値分負の方向に移動した点まで直線を描画します.
W 〈パラメータ1〉,〈パラメータ2〉
LPから,現座標系のX軸に沿って〈パラメータ1〉スケール値分, Y軸に沿って〈パラメータ2〉Xスケール値分それぞれ正の方向へ移動した点まで直線を描画します.
X 〈パラメータ1〉
〈パラメータ1〉で指定される文字変数内のグラフィック描画サブコマンド列に従い図形を描画します.文字列変数内に,再びXサブコマンドを含めることも可能です.なお,〈パラメータ1〉には,必ず"=〈文字変数〉;"の形を使用してください.
Y 〈パラメータ1〉
D, E, F, G, H, L, M, Q, R, UおよびWサブコマンドで描画する直線または長方形のラインスタイルを規定します. 〈パラメータ1〉は, &H0〜&HFFFF の範囲の整数でなければなりません.ラインスタイルの内容については, LINEを参照してください.
初期状態では,〈パラメータ1〉の値は&HFFFFとなっています.
Z 〈パラメータ1〉
TおよびPサブコマンドでぬりつぶす際の,ぬりつぶしの色またはタイルストリングによる模様を規定します.〈パラメータ1〉は,パレット番号またはタイルストリングが格納されている文字列変数でなければなりません.ただし,タイルストリングを指定する場合は,必ず"=〈文字変数〉;"の形を使用してください.タイルストリングについては, (2)PAINTを参照してください.
初期状態では, Cサブコマンドにより規定されるパレット番号(Cサブコマンドを実行していないときはフォアグラウンドカラー)となっています.
D, E, F, G, H, L, M, Q, R, T, UおよびWサブコマンドの実行では,修飾子としてNが指定されていない限り, LPは指定された点に移ります.A, C, P, S, YおよびZサブコマンドの実行ではLPは変化しません.
また, A, C, S, YおよびZサブコマンドの指定は,指定のあるDRAWだけでなく,以降のDRAWにもその指定が引き継がれます.これらの指定は, SCREENを実行すると初期状態にもどります.
参照: LINE, (2)PAINT,サンプルプログラム17
出典:N88-日本語BASIC(86)(Ver6.2) リファレンスマニュアル、日本電気株式会社、1991年発行