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

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


<< 自動で近づき攻撃するオブジェクト | main | 残像 >>



振り子

単振り子を描写するプログラムです。

振り子とは、糸で垂らして左右に揺れ動く物体を指します。

 


#module pendulum
    #deffunc pen_init double m_d,double m_alpha,double m_x,double m_y
        fx=m_x
        fy=m_y
        len=m_d
        ddim angle,2
        angle=m_alpha,m_alpha
        ddim ppos,2    ;球の位置
        pen_setpos

        m=1000.0    ;重さ
        g=9.81        ;重力
        dt=0.001    ;時間
        return
    #deffunc pen_setpos
        ppos(0)=len*sin(angle(0))+fx
        ppos(1)=len*cos(angle(0))+fy
        return
    #deffunc pen_getpos array r_arr
        r_arr=ppos(0),ppos(1)
        return
    #deffunc pen_newAngle    ;振り子の角度
        angle(1)+=dt*(-m*g/len*sin(angle(0)))
        angle(0)+=angle(1)*dt
        return
#global

#module graphic
    #deffunc gra_init    ;初期化
        gw=640
        gh=480
        pen_init 400,-M_PI/4,gw/2,0
        return
    #deffunc gra_update        ;描写
        color 255,255,255:boxf 0,0,gw,gh:color
        repeat 5
            pen_newAngle
        loop
        pen_setpos
        ddim p,2
        pen_getpos p
        line gw/2,0,p(0),p(1)
        circle p(0)-8,p(1)-8,p(0)+8,p(1)+8
        return
#global

gra_init
repeat
    gra_update
    await 17
loop

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


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