スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

9月12日 夏休みMSX自由研究


今更MSX1で遊んでみよう企画です。VRAM研究、ぴったしニャンニャン移植、ときましたが、今回は「DRAW文を使ってみよう」です。




DRAW文ってグラフィックを描くコマンドですよね。LINEとかPSETとかじゃダメなの?




例えばLINE文だと、始点と終点座標を指定して線を描きますが、DRAW文は「右へ3ドット、下へ5ドット」という風な指定の仕方で線を描くコマンドです。








まあそんな感じです。




このころ流行ってましたもんね、タートルグラフィックス。調べてみると、他にもパソピア7やSMC-70にも同様のDRAW文があったようですよ。




で、良く例題に出されるこんな感じの図形を描かせてみました。プログラムも。



ぐるぐる
リスト


LINE文を使うより簡潔になってる?




う~ん、これくらいだとそんなに変わらない気もする。ただ、DRAW文の良さは、描画データはそのままにいろいろ変化させることが出来る、というところだと思う。ということで、幾何学的図形だけだと面白くないので、32×32ドットで大平みちるちゃんをDRAW文で描いてみて、いろいろ変化させてみましょう。




じゃあ、まずは基本。今回はSCREEN3モードですね。64×48ドットとかなり荒いですけど、色数制限もないしちょうどよいでしょう。



みちるちゃん


表示位置を変えてみます。描画位置を変えるのはMコマンドです。「 DRAW "M(X座標),(Y座標)" 」を事前に実行すると変化させることが出来ます。



Mコマンド


次は回転です。Aコマンドを使います。但し、90度ずつしか回転させることができません。DRAW "A3"(270度) DRAW "A2"(180度)を設定しています。



Aコマンド


拡大・縮小もできます。Sコマンドで設定します。実行結果はそれぞれ原寸、3/4、1/2、1/4です。



Sコマンド


あれ、拡大は?




SCREEN3モードだと手狭なので、SCREEN2モードで拡大させてみます。192×192まで引き延ばしてみましょう。



Sコマンドその2


なにこれ……




ドットを膨らませるような拡大ではなく、座標や長さを変換してるのでこうなってしまうのです。




なるほど。




塗りつぶしコマンドがあるといいんだけど、ないので線を敷き詰めていくしかないんだよね。だからこんな結果に。




最初から192×192で作っておけばいいのでは。




DRAW文でこういう絵を描くのは大変なんよ。32×32ドットでもひーひー言いながらだったし。




まあ、こういう絵なら普通にドットの並びをDATA文にして、READしてPSETで描いた方が早いですよね。回転とか拡大は自前でやらなきゃならないですけど。




やっぱりDRAW文は一番最初のような図形を描くのが本職、ということがこの研究の成果でした。最後はSCREEN2モードで市松模様。水平方向8ドットにつき2色までという制限があるので色がちょっと変ですが。



市松模様


データを作るのは大変ですけど、いろいろ遊べて面白いですね、DRAW文。興味のある方はこちらから今回のプログラムをどうぞ。.BASファイルにして読ませてみて下さい。




ゆかりちゃん?

コメントの投稿

非公開コメント

カレンダー
03 | 2017/04 | 05
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 - - - - - -
twitterでひとこと
最新記事
リンク
カテゴリ
最新コメント
最新トラックバック
検索フォーム
RSSリンクの表示
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード
来訪者数
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。