速度の方向の成分と速さの成分は、それぞれ別々に変更することができる。
速度の方向を変えると、跳ね返る動きをシュミレートできます。
0.3の値を持つacceleration変数は重力をシュミレートし、摩擦が徐々に速度を下げ、やがて跳ね返るのをやめます。
float x = 33.0; float y = 5.0; float veloctiy = 0.0; float radius = 15.0; float friction = 0.99; float acceleration = 0.3; void setup(){ size(100,100); noStroke(); ellipseMode(RADIUS); } void draw(){ fill(0,12); rect(0,0,width,height); fill(255); veloctiy += acceleration; veloctiy *= friction; y += veloctiy; if(y>height-radius){ y=height - radius; veloctiy = -veloctiy; } ellipse(x,y,radius,radius); }
Originally posted 2015-11-18 00:15:25.