前提
Processingにて、どれだけ調べてもコードがわからず完全に手詰まりになりました。
サンプルコードの「Exercise_3_02_cannon」を改良して、発射された球に線の軌跡が出るようにしたいです。
実現したいこと
・発射された球に軌跡が線で出るようにする。
発生している問題・エラーメッセージ
色々とネットなどで調べてはみたのですが、該当しそうな情報がなく、完全に手づまりな状況です
該当のソースコード①
Javascript
1float angle = -PI/4; 2PVector position = new PVector(50, 300); 3boolean shot = false; 4 5CannonBall ball; 6 7void setup() { 8 size(640, 360); 9 ball = new CannonBall(position.x, position.y); 10} 11 12void draw() { 13 background(255); 14 15 pushMatrix(); 16 translate(position.x, position.y); 17 rotate(angle); 18 rect(0, -5, 50, 10); 19 popMatrix(); 20 21 if (shot) { 22 PVector gravity = new PVector(0, 0.2); 23 ball.applyForce(gravity); 24 ball.update(); 25 } 26 ball.display(); 27 28 if (ball.position.y > height) { 29 ball = new CannonBall(position.x, position.y); 30 shot = false; 31 } 32} 33 34void keyPressed() { 35 if (key == CODED && keyCode == RIGHT) { 36 angle += 0.1; 37 } 38 else if (key == CODED && keyCode == LEFT) { 39 angle -= 0.1; 40 } 41 else if (key == ' ') { 42 shot = true; 43 PVector force = PVector.fromAngle(angle); 44 force.mult(10); 45 ball.applyForce(force); 46 } 47}
該当のソースコード②
Javascript
1class CannonBall { 2 // All of our regular motion stuff 3 PVector position; 4 PVector velocity; 5 PVector acceleration; 6 7 // Size 8 float r = 8; 9 10 float topspeed = 10; 11 12 CannonBall(float x, float y) { 13 position = new PVector(x,y); 14 velocity = new PVector(); 15 acceleration = new PVector(); 16 } 17 18 // Standard Euler integration 19 void update() { 20 velocity.add(acceleration); 21 velocity.limit(topspeed); 22 position.add(velocity); 23 acceleration.mult(0); 24 } 25 26 void applyForce(PVector force) { 27 acceleration.add(force); 28 } 29 30 31 void display() { 32 stroke(0); 33 strokeWeight(2); 34 pushMatrix(); 35 translate(position.x,position.y); 36 ellipse(0,0,r*2,r*2); 37 popMatrix(); 38 } 39}
試したこと
どこから変更すればよいのかわからなくて完全に困っています。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
