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

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


<< 通路生成(一本道) | main | ゲーム木探索 >>



角が丸い四角(線)

線をひいて、角を丸めた四角形を描写するプログラムです

 


mcenx=210.0        ;中心X
mceny=150.0        ;中心Y
mxlen=94.0        ;縦幅/2
mylen=124.0        ;横幅/2
magari=32.0        ;カーブの丸み具合
fix=0.00001
dx=-1,-1,1,1
dy=1,-1,-1,1

ldir=90:l2dir=ldir+90
repeat 4
    sxlen=mxlen-magari
    sylen=mylen-magari
    clen=sqrt(powf(sxlen,2)+powf(sylen,2))
    cdir=atan(sylen*dy(cnt),sxlen*dx(cnt))
    ccrad=cos(cdir)
    csrad=sin(cdir)
    ccenx=ccrad*clen+mcenx
    cceny=csrad*clen+mceny
    lx=cos(deg2rad(ldir))*mxlen+mcenx
    ly=sin(deg2rad(ldir))*mylen+mceny
    
    l2crad=cos(deg2rad(l2dir))
    l2srad=sin(deg2rad(l2dir))
    line l2crad*sxlen-l2crad*magari+lx+fix,l2srad*sylen-l2srad*magari+ly+fix,lx+fix,ly+fix
    ddir=ldir+90
    repeat
        ldir+5
        rad=deg2rad(ldir)
        line cos(rad)*magari+ccenx,sin(rad)*magari+cceny
        if ldir>=ddir{
            ldir=ddir
            break
        }
    loop
    line cos(deg2rad(ldir))*mxlen+mcenx+fix,sin(deg2rad(ldir))*mylen+mceny+fix
    l2dir+90
loop

0
    posted by higashijugem 11:39comments(0)|-|


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