2021年 9月 1日
今までの方法で枠線を引くと、次のように外周の HEXの枠線は描かれない。
これをどうするか。
今思いついたけど、枠線情報の判定をする時に「MAP外の場所は枠線が有る」ように計算したら良い。
しかしプログラム的に変わってしまうので、今回は今まで試した方法でやってみる。
方法 1、線を引く
枠線の描かれないラインから boxfで塗る。
外周を黒で塗りつぶしてから、直線の白線を引きます。
; 外周表示 color 1,1,1 ;color 255,255,255 gk1x=0 gk2x=hxp+10 gk3x=hxb*20+hxp-8 gk4x=wx gk1y=0 gk2y=hyp+5 gk3y=hyb*16+hyp+2 gk4y=hyb*16+hyp+7 boxf gk1x,gk1y,gk4x,gk2y boxf gk1x,gk3y,gk4x,gk4y boxf gk1x,gk1y,gk2x,gk4y boxf gk3x,gk1y,gk4x,gk4y gw1x=gk2x-2 gw2x=gk2x gw3x=gk3x gw4x=gk3x+2 gw1y=gk2y-2 gw2y=gk2y gw3y=gk3y gw4y=gk3y+2 color 255,255,255 boxf gw1x,gw1y,gw4x,gw2y boxf gw1x,gw3y,gw4x,gw4y boxf gw1x,gw1y,gw2x,gw4y boxf gw3x,gw1y,gw4x,gw4y
この方法はダイス戦略で使われてる方法です。
しかし改良版ではさっき思いついた方法でマップ外は枠線有りの方法のようです。
この方法を使う場合、というかマップ製作ではよくある方法みたいなんですけど「マップデータの外周は余白として残しておき、マップには使わない」というのがあります。
要するに 0,0、つまり 0列は使わずに 1,1、1座標からマップとして使う、最大数も同じです、1マス引いた所まで使います。
方法 2、画面外ギリギリまでマップを描く
表示を切る分部を画面の端に合わせます。
下段は先の方法で切ってます。
この方法の欠点は「切る大きさが HEXとピッタリになるか分からない」という事です。
この HEXの大きさだとタマタマ左右端は大体ピッタリで切れてます。
下のキャラ表示は戦闘画面(ダイスロール)のテスト表示です、キャラはエトリエさんのを使用させて頂く予定です。