[[Tonyu基礎練習]]-[[練習:数学と物理とゲーム]] - ''加速するオブジェクト''

オブジェクトの移動方向(2) でvx,vyという変数が出てきました。

Sokudo.tonyu

   
vx=1;vy=1;
while (1) {
  x=x+vx;
  y=y+vy;
  update();
}

このvx,vyの値を変更すると様々な動きを再現できます。

落下するオブジェクト

FreeFall?.tonyu

   
vx=0;vy=0;
while (1) {
  x=x+vx;
  y=y+vy;
  vy=vy+1;
  update();
}

加速するオブジェクト」は鉛直投げ上げとか放物線とか

  • 下にただ落ちる場合:

    pre> while(y<$screenHeight){

     y=y+3;
     update();

    }

    /pre>

    • 加速しながら落ちる場合。

      pre> vy=0; //初速度0 while(y<$screenHeight){

       y=y+vy;
       vy=vy+1;
       update();

      }

      /pre>

      • 鉛直投げ上げ:

        pre> vy=30; //鉛直方向初速度 while(y<$screenHeight){

         y=y-vy;
         vy=vy-1;
         update();

        }

        /pre>

        • 放物線:

          pre> vx=2; //右進行方向の定速度 vy=30; //鉛直方向初速度 while(y<$screenHeight){

           y=y+3;
           vy=vy-1;
           x=vx;  
           update();

          }

          /pre>


練習問題

table bgcolor=#ffddee><tr><td> 練習問題

blockquote>板の上にボールが置いてあるとします。ゲーム画面はそれを上から見た形になっているものとします。

このとき、板を右に少し傾けた場合のボールの動きを再現してください。

sNieQW1EJqEFhAT7SDFs2l9kvcXofsK1151591100Rseov9df81r3m2nF59e8v784jw5kfdr

sNieQW1EJqEFhAT7SDFs2l9kvcXofsK1151591098Rseov9df81r3m2nF59e8v784jw5kfdr
sNieQW1EJqEFhAT7SDFs2l9kvcXofsK1151591099Rseov9df81r3m2nF59e8v784jw5kfdr

sNieQW1EJqEFhAT7SDFs2l9kvcXofsK1151591101Rseov9df81r3m2nF59e8v784jw5kfdr

/blockquote>

/td></tr></table>

table bgcolor=#ffddee><tr><td> 練習問題

blockquote>1.主人公(Hero.tonyu)を作成し、初速度10でジャンプするようにしなさい。

sNieQW1EJqEFhAT7SDFs2l9kvcXofsK1151591104Rseov9df81r3m2nF59e8v784jw5kfdr

sNieQW1EJqEFhAT7SDFs2l9kvcXofsK1151591102Rseov9df81r3m2nF59e8v784jw5kfdr
sNieQW1EJqEFhAT7SDFs2l9kvcXofsK1151591103Rseov9df81r3m2nF59e8v784jw5kfdr

sNieQW1EJqEFhAT7SDFs2l9kvcXofsK1151591105Rseov9df81r3m2nF59e8v784jw5kfdr

/blockquote>

/td></tr></table>  答え

table bgcolor=#ffddee><tr><td> 練習問題

blockquote>2.自分(Monkey.tonyu)を作成し、スペースキーで石(Stone.tonyu)を放物線を描くように投げるプログラムを作成しなさい。

sNieQW1EJqEFhAT7SDFs2l9kvcXofsK1151591108Rseov9df81r3m2nF59e8v784jw5kfdr

sNieQW1EJqEFhAT7SDFs2l9kvcXofsK1151591106Rseov9df81r3m2nF59e8v784jw5kfdr
sNieQW1EJqEFhAT7SDFs2l9kvcXofsK1151591107Rseov9df81r3m2nF59e8v784jw5kfdr

sNieQW1EJqEFhAT7SDFs2l9kvcXofsK1151591109Rseov9df81r3m2nF59e8v784jw5kfdr

/blockquote>

/td></tr></table>  答え