ひろひろの生活日記(LIFE Of HIROHIRO)

パソコン講習とソフト開発をしています。自作小説も掲載しています。ネット情報発信基地(上野博隆)Hirotaka Ueno

三角関数を使った坂道・登り道の表現。

2021年12月14日 11時05分57秒 | ゲーム開発(Game development)

・updownの計算 縮小率です。

 for(i=23; i >=0; i--){
        updown[i] = Math.sin((180*i/23)*(Math.PI/180));
        
    }

で23の割合(1~ 0)に180を掛けてパーセントを算出する。

それをラデイアンに直す。*(Math.PI/180)

・上、下のキーのアクション

    if(k==38) draw_road(0, -50); if(k==40) draw_road(0, 50);

 

・道路の描画モジュール iは(23~0)の変数でした。考慮間違いでした。

function draw_road(di, ud){
    //(描画処理)
    ctx.fillStyle = "blue";
    ctx.fillRect(0, 0, WIDTH, HEIGHT);

    ctx.fillStyle = "green";
    ctx.fillRect(0, 300, WIDTH, 300);
    h = 24;
    y = 600 - h;
    for (i=23; i >= 0; i--){
        ii = i ;
        uw = (ii-1)*(ii-1) * 1.5;
        ux = 400 - uw / 2 + di*(23-(ii-1));
        uy = y + parseInt(updown[i-1]*ud);
        bw = ii* ii * 1.5;
        bx = 400 - bw/2 + di*(23-ii);
        by = y + h + parseInt(updown[i]*ud);
        wkcolor = ii % 3;
        ctx.beginPath();
        ctx.moveTo(ux,uy);
        ctx.lineTo(ux+uw,uy);
        ctx.lineTo(bx+bw,by);
        ctx.lineTo(bx,by);
//全て座標を指定 

        ctx.closePath();
        ctx.fillStyle = bordcolor[wkcolor]
        ctx.fill();

        h = h - 1;
        y = y - h;
    }
    msg_draw();
}
// ゲームオーバーの表示
function msg_draw(){
    ctx.font = "20px 'MS Pゴシック'";
    ctx.fillStyle = "white";
    ctx.fillText("カーソルキーの上、下を押してください",200,100); 
}

 

 

 

 

 


コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« ロボットの手と足の描画。 | トップ | 道路(キーを押すたびに描画... »
最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。

ゲーム開発(Game development)」カテゴリの最新記事