2017年 7月15日~7月16日
絶不調。
という訳で、とりあえずbmpフォントの表示をまとめる事にした。
フォントをまとめて(セルの大きさは 16*16)
プログラムを改定して
#include "hsp3dish.as" bfp_cn=1 ; セルNo. celload "bmp_font.png",bfp_cn celdiv bfp_cn,16,16 gosub *main : end ;----------- bmpフォント表示 -------------------------------- #module #deffunc bfp str s,int x,int y,int t ; 英数字スモール、文字列 ; s=文字列、x=x座標、y=y座標、t=文字色 bfp_cn=1 ; #module内なので定義し直す ss=s ; たしか一度受け渡さないとエラーが sg=strlen(s) ; 文字長さ、個数 t2=t*26 ; 文字色 gmode 2 repeat sg ; 文字の数だけ繰り返し n=peek(ss,cnt) ; 1文字読み出し、n=アスキーコード if n=32 : continue ; " " スペース pos x+cnt*11,y if n>=65 and n<=90 : n2=n-65 : celput bfp_cn,n2+t2 : continue ; 小文字も大文字で表示 if n>=97 and n<=122 : n2=n-97 : celput bfp_cn,n2+t2 : continue ; アルファベット if n>=48 and n<=57 : n2=n-48 ; 数字 if n=43 : n2=10 ; + if n=45 : n2=11 ; - if n=42 : n2=12 ; * if n=47 : n2=13 ; / if n=61 : n2=14 ; = if n=37 : n2=15 ; % if n=46 : n2=16 ; . if n=44 : n2=17 ; , if n=58 : n2=18 ; : if n=59 : n2=19 ; ; if n=40 : n2=20 ; ( if n=41 : n2=21 ; ) if n=33 : n2=22 ; ! if n=63 : n2=23 ; ? if n=126 : n2=24 ; ~ celput bfp_cn,182+n2+t2 ; 表示 loop return #global *main redraw 0 color 1,1,1 : boxf : color 255,255,255 s="1234567890" bfp s,10,10,0 s="abcdefghijklmnopqrstuvwxyz" bfp s,10,30,1 s="+-*/=%.,:;()!?~" bfp s,10,50,2 redraw 1 stop return
コピペすれば使えると思うから、使いたい人はどうぞ。
物足りない人は改造してね(単色なのでグラデするとか、色がきにくわないとか)
グラは ALFARで描いてるので、それで開けばパレットが使えるはず。
色はノーマル、火、水、風、土、光、闇を表す。
ノーマルは灰色なので、白(255)がよければ光(5)でどうぞ。
一番最後の「/」はプログラムでは扱えてません。