- 追加された行はこの色です。
- 削除された行はこの色です。
#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;
}