2008年1月2日水曜日

RPG風メッセージウィンドウの描画

ツクールなどでよくありそうなデザインのウィンドウを描画します。三角関数とhsvcolorを組み合わせることで、きれいなグラデーションが表現できます。
白と黒の線で囲むことで、どんな背景でもある程度の見易さを確保するよう努めています。
#module
#include "hspmath.as"
#deffunc line_box int x, int y, int _w, int _h, local w, local h
    w = _w - 1 : h = _h - 1
    line x+w, y, x, y : line x+w, y+h
    line x, y+h : line x, y
    return
#deffunc draw_win int x, int y, int _w, int _h, local w, local h
    w = _w - 1 : h = _h - 1
    repeat 10
        angle = M_PI * cnt/20M_PI * (1+cnt)/20
        hsvcolor 130255255-2*cnt*cnt
        boxf x+sin(angle)*w, y, x+sin(angle(1))*w, y+h
    loop
    color : line_box x, y, _w, _h
    color 255255255 : line_box x+1, y+1, _w-2, _h-2
    return
#global
    redraw 0
    draw_win 00240200
    redraw 1
    stop

0 件のコメント: