ゲームを作りたい人のための ソースコード集

私がその日作った短めのソースを簡単な解説とともに載せていきます
ゲーム制作初心者にとって参考になるかもしれないソースが多いです


<< スピログラフ | main | ダメージアニメーション >>



視界フィルター

最初は真っ暗で何も見えないマップを移動することで、プレイヤーの周辺の地形が見えるようになるプログラムです

マウスカーソルを移動させることで見える範囲が広がっていきます

 


gw=640:gh=480
mc=64:mr=48
mw=gw/mc:mh=gh/mr
dim mlight,mc,mr    ;光源データ
repeat mr:j=cnt
    repeat mc:i=cnt
        mlight(i,j)=255
    loop
loop

buffer 2    ;フィルターバッファ
buffer 1    ;背景バッファ
repeat 100
    x=rnd(gw):y=rnd(gh):h=rnd(192)
    hsvcolor h,255,255
    boxf x,y,x+20,y+20
loop

px=0f+gw/2:py=0f+gh/2
gosub *lightdraw
gsel 0
repeat
    mux=mousex:muy=mousey
    if abs(px)!=mux|abs(py)!=muy{
        rad=atan(muy-py,mux-px)
        px+=cos(rad)*0.5
        py+=sin(rad)*0.5
        gosub *lightdraw
    }
    gmode 0
    pos 0,0:gcopy 1,,,gw,gh
    gmode 6,,,255
    pos 0,0:gcopy 2,,,gw,gh
    redraw:await 17:redraw 0
loop

*lightdraw
    gsel 2
    repeat mr:j=cnt
        cy=j*mh
        ay=cy+mh/2
        repeat mc:i=cnt
            cx=i*mw
            ax=cx+mw/2
            den=powf(px-ax,2)+powf(py-ay,2)
            h=limit(den/4-256,0,255)
            if mlight(i,j)>h{
                color h,h,h:boxf cx,cy,cx+mw,cy+mh
                mlight(i,j)=h
            }
        loop
    loop
    gsel 0
    return

0
    posted by higashijugem 21:43comments(0)|-|


    この記事に対するコメント