function mode_change(m,ki1,ki2,max)--2個同時押し対応モード変更関数--
if ((_KEY(ki1)==1) and (_KEY(ki2)==1) and (mem[ki1]==0) and (mem[ki2]==0)) then-- 現在キー押下され、前フレームで押されていない場合
m=math.mod(m+1,max)
end
return m
end
-- set2D() 開始点初期化
--move2D、line2Dに必要な引数を作成、1フレームに一回だけでOK
function set2D()
--視野角取得
zo=_ZOOM(0)/2
--初期化計算
k=math.tan(math.rad(zo))/10
--move2D,line2D用戻り値
return k
end
--棒グラフ表示関数(値、値の最大値)
function bargraph(value, max)
local maxlength = 10 --グラフの最大長
local point = "*" --ポイントに使う文字
local bar = ""
length = maxlength * value / max
for i=0, length-1 do
bar = bar..point
end
return bar
end
--
--16進数を10進数に変換
function hextodec(x)
local n = tonumber(string.sub(x, -1, -1))
if n == nil then n = hextable[string.sub(x, -1, -1)] end
if string.len(x) == 1 then return n
else return hextodec(string.sub(x, 1, -2)) * 16 + n end
end
hextable = { a = 10, b = 11, c = 12, d = 13, e = 14, f = 15 }
使用例
out(1, hextodec("ffffff"))
_SETCOLOR(hextodec("ffcc99")))
色の16進指定にも使える。
-- LongValue() 小数第三位以上の数値を文字列として得る
-- 使用例: out(0,LongValue(_FPS()))
function LongValue(num)
local ret = string.gsub(string.format("%q",num),"%p(%d*)(.*)(%d*)%p","%1 %2%3")
return ret
end