2017年 5月24日~25日
それじゃあ前回の技術を使って HEXを勢力色で塗るテストをしてみる。
ALFARでガシガシ手描きして
グレーでグラデーションを作る。
一周描いて、外枠を消す。
PNG形式で保存。
(最終版、完成版は最後にあります)
(注意:アンドロイド実機では PNG→png、HEX→hex等のファイル名とソース名が違うと 13エラーになるので、たぶんなるべく全部小文字でそろえましょう。
と言う事で画像ファイルを UPし直しました(^^;))
テストプログラム
/////// HEX ///////////////////////////////////////// #include "hsp3dish.as" hbx=52 : hkx=hbx/2 ; 横の大きさ、半分、間隔 hby=90 : hky=hby/2 ; 縦の大きさ、間隔 screen 0,640,360 celload "hex_104_90_d.png",1 celdiv 1,104,90 redraw 0 color 0,0,0 : boxf ;------- HEX描画 ----------------------------------------- gmode 2 gmulcolor 255,255,255 ; 色をリセット repeat 7 : cx=cnt : px=(hbx+hkx)*cnt+34 ; x座標 if cnt\2=0 : yk=0 : else : yk=-hky ; y座標補整 repeat 4 : cy=cnt : py=hby*cnt ; y座標 pos px,py+yk : celput 1,0 ; HEX描画 loop loop ;------- ふち描画 ----------------------------------------- gmode 3,,,255 ; 加算合成 rn=255 : gn=0 : bn=0 gmulcolor rn,gn,bn ; 色指定 repeat 7 : cx=cnt : px=(hbx+hkx)*cnt+34 ; x座標 if cnt\2=0 : yk=0 : else : yk=-hky ; y座標補整 repeat 4 : cy=cnt : py=hby*cnt ; y座標 if cx=1 and cy=0 : continue ; 描かない座標 if cx=3 and cy=0 : continue if cx=5 and cy=0 : continue pos px,py+yk : celput 1,1 ; ふち描画 loop loop pos redraw 1
するとこんな感じ。
gmode 3,,,255だと100%塗りつぶしなので gmode 3,,,128くらいで半透明合成する。
するとこんな感じ。
JPG画像だと色落ちしてるけど、もう少し明るい。
次に背景との合成を試してみる。
草原らしきを描いて、上から gmode 3,,,128半透明合成(50%)で描いてみる
うむ、色が混ざって分からなくなるな
それじゃあ加算合成 gmode 5,,,128でやってみる。
明るいねえ(笑)
なら gmode 2で塗りつぶしてみる。
グラデーション部分が暗くなってしまう。
思考錯誤の末、ふちを 1ドット gmode 2で塗りつぶし、残りのグラデを gmode 5,,,128で加算合成する事にした。
/////// HEX ///////////////////////////////////////// #include "hsp3dish.as" hbx=52 : hkx=hbx/2;-1 ; 横の大きさ、半分、間隔 hby=90 : hky=hby/2 ; 縦の大きさ、間隔 screen 0,640,360 celload "hex_104_90_f.png",1 celdiv 1,104,96 redraw 0 color 0,0,0 : boxf ;------- HEX描画 ----------------------------------------- repeat 7 : cx=cnt : px=(hbx+hkx)*cnt+34 ; x座標 if cnt\2=0 : yk=0 : else : yk=-hky ; y座標補整 repeat 4 : cy=cnt : py=hby*cnt ; y座標 if cx=1 and cy=0 : continue ; 描かない座標 if cx=3 and cy=0 : continue if cx=5 and cy=0 : continue gmode 2 gmulcolor 255,255,255 ; 色をリセット pos px,py+yk : celput 1,0 ; HEX描画 pos px,py+yk : celput 1,2 ; 草原描画 rn=255 : gn=0 : bn=0 gmulcolor rn,gn,bn ; 色指定 pos px,py+yk : celput 1,19 ; ふち描画 gmode 5,,,160 ; 加算合成 pos px,py+yk : celput 1,20 ; ふちグラデ描画 loop loop redraw 1
赤(255,0,0)
緑(0,255,0)
青(0,0,255)
白(255,255,255)
最終版(ご使用するならどうぞ)
/////// HEX ///////////////////////////////////////// #include "hsp3dish.as" hbx=52 : hkx=hbx/2 ; 横の大きさ、半分、間隔 hby=90 : hky=hby/2 ; 縦の大きさ、間隔 screen 0,640,360 celload "hex_104_90_test.png",1 celdiv 1,104,90 redraw 0 color 0,0,0 : boxf ;------- HEX描画 ----------------------------------------- repeat 7 : cx=cnt : px=(hbx+hkx)*cnt+34 ; x座標 if cnt\2=0 : yk=0 : else : yk=-hky ; y座標補整 repeat 4 : cy=cnt : py=hby*cnt ; y座標 if cx=1 and cy=0 : continue ; 描かない座標 if cx=3 and cy=0 : continue if cx=5 and cy=0 : continue gmode 2 gmulcolor 255,255,255 ; 色をリセット pos px,py+yk : celput 1,0 ; HEX描画 pos px,py+yk : celput 1,1 ; 草原描画 rn=255 : gn=0 : bn=0 gmulcolor rn,gn,bn ; 色指定 pos px,py+yk : celput 1,2 ; ふち描画 gmode 5,,,160 ; 加算合成 pos px,py+yk : celput 1,3 ; ふちグラデ描画 loop loop redraw 1
まあとにかく基本はこれで、後は改造したり微調整していく事にする。