#author("2016-11-23T18:40:43+09:00","default:kyo-in","kyo-in")
*連絡 [#ybce144a]
アンケートの結果,予習希望多数でしたので予習を主体とした内容で進めます.もちろん補習では過去の内容の疑問点などの質問も受け付けます.

*メソッド [#p512b428]
前回のプログラム例を示す.

 Ball ball0;
 final float GRAVITY = 9.8 / 60;
 final float ELAS = 0.98;
 
 void setup(){
   size(500, 500);
   ball0 = new Ball();
   ball0.x = width / 2;
   ball0.y = height / 2;
   ball0.vx = 10;
   ball0.vy = -10;
   ball0.d = 50;
 }
 
 void draw(){
   background(255, 255, 255);
   moveBall(ball0);
   drawBall(ball0);
 }
 
 void moveBall(Ball b){
   b.x += b.vx;
   b.vy += GRAVITY;
   b.y += b.vy;
   
   if (b.x < (b.d / 2)){
     b.x = b.d / 2;
     b.vx = ELAS * -b.vx;
   }
   
   if (b.x > (width - (b.d / 2))){
     b.x = width - (b.d / 2);
     b.vx = ELAS * -b.vx;
   }
   
   if (b.y > height - (b.d / 2)){
     b.y = height - (b.d / 2);
     b.vy = ELAS * -b.vy;
   }
 }
 
 void drawBall(Ball b){
   ellipse(b.x, b.y, b.d, b.d);
 }
 
 class Ball{
   float x;
   float y;
   float vx;
   float vy;
   float d;
 }



トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS