グラフィックの描き方

 

 まあこれを読んでいる方の中で「LINE」や「CIRCLE」命令を知らない人はいないと思いますが、

このタイプの命令って単純な図形的なものなら問題はないですけど

ゲームのキャラみたいな複雑な絵を描く時はひたすら命令を繰り返す必要がありますよね。

ここではそんな複雑な絵の書き方を解説させていただきます。

 

 

図1               図2

    

 

 複雑な絵をいちいち座標指定していてはめっさ面倒なので、

ここでは「READ」と「DATA」命令を使って絵のデータを読み込みます。

 

 まずは絵のデータの作成です。

図1を見てください。

ここではこの様な3×3の簡単な絵を描くとします。

これをどうやってデータに直すか、ですが

パレットの番号は初期設定では青が1、赤が2ですから色を数字に直すと図2の様になる訳です。

これは簡単なので問題はないでしょう。

これを横に区切ると、上から 「1 2 1」 「2 2 2」 「1 2 1」 という3つの数列が出来ます。

これでデータは出来上がりです。

まあ今ここで何だかわからなくても下を読めばわかると思いますので・・・。

 

 さあ、ここからが本番です。

上で作成したデータを元に実際に絵を描きます。

まず下のプログラムを見てください。

 

1000 D=10

1010 YY=3

1020 XX=3

1030 FOR Y=0 TO YY-1

1040 FOR X=0 TO XX-1

1050 READ C

1060 LINE(X*D,Y*D)-(X*D+(D-1),Y*D+(D-1)),C,BF

1070 NEXT X

1080 NEXT Y

1090 END

1100 DATA 1,2,1

1110 DATA 2,2,2

1120 DATA 1,2,1

 

 まあこれだけ見てもらえれば私が言うことは何もないので、

各自このプログラムを解析してみてください。

このプログラムは左上から右下に向かって横に一列ずつ描いて行きます。

ちなみに1000、1060行目の「D」という変数はドットの荒さを示しています。

この値を小さくすると絵が細かくなり、大きくすると絵が荒くなります。

変数「XX」と「YY」は絵の大きさ(縦横のデータの数)を表しています。

「XX」が横の大きさ、「YY」が縦の大きさを表しています。

ここでの絵の大きさは3×3なので両方とも「3」が代入されています。

1050、1060行目の変数「C」は点の色データです。

色データは1050行目で変数「C」に代入され、

1060行目の「LINE」命令で使用されています。

1100行以降は上で作成した絵のデータです。

もちろん、

1100 DATA 1,2,1,2,2,2,1,2,1

の様に続けて書いても問題ありません。

ただし行の最後だけはカンマを付けない様に注意してください。

 

 これで複雑な絵も書けるはずです。

何かわからないことがあったら私までメールください。

 

 

もどる