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

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


<< 判別分析法 | main | リッチエディットコントロール >>



VRAM操作

VRAMの値を書き換えて矩形を描写するプログラムです

領域の幅が4の倍数でない場合や範囲外を指定した場合でも、正常に表示されます

 


#module
#deffunc areacheck var p,var l,var te,int ge
    if l<0{
        p=p+l
        l=l*(-1)
    }
    te=l+p
    if te<0{
        te=0
    }else:if te>ge{
        te=ge
    }
    if p<0{
        p=0
    }
    return
#global
#module
#deffunc vramset array vram,int tx,int ty,int tw,int th,int tc,int tgw,int tgh
    x=tx:y=ty:w=tw:h=th:c=tc:gw=tgw:gh=tgh
    r=c&0xff
    g=(c>>8)&0xff
    b=(c>>16)&0xff
    areacheck x,w,tew,gw
    areacheck y,h,teh,gh
    if (gw*3)¥4!=0{
        fx=1
        ix=1-((gw*3)¥4)
    }else{
        fx=0:ix=0
    }
    j=y
    repeat
        if j>=teh:break
        tj=(gh-j-1)
        sfx=fx*tj
        six=ix*tj
        i=x+sfx
        repeat
            if i>=tew+sfx:break
            index=(tj*gw+i)*3+six
            poke vram,index,r
            poke vram,index+1,g
            poke vram,index+2,b
            i++
        loop
        j++
    loop
    return
#global
boxf
mref vram,66
vramset vram,50,50,100,100,$ffffff,ginfo(12),ginfo(13)
redraw

0
    posted by higashijugem 07:36comments(0)|-|


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