processing でeasaing を利用して鳥をマウスに反応して動くようにしたいのですが、移動範囲が狭く、マウスを動かしても一定の距離で止まってしまいます。
原因と解決方法を知りたいです。よろしくお願いします。
float x=0; float angle=0; float easing=0.1; void setup(){ size(400,400); } void draw(){ background(176, 204, 226); fill(160, 82, 45); noStroke(); rect(55,250,50,150); fill(107,142,35); for(int i = 0; i<6; i++){ ellipse(0 + 30*i,270,30,30); } for(int i = 0; i<5; i++){ ellipse(20 + 30*i,250,30,30); } for(int i=0; i<4; i++){ ellipse(35 + 30*i, 230, 30, 30); } for(int i=0; i<3; i++){ ellipse(50 + 30*i, 210, 30, 30); } for(int i=0; i<2; i++){ ellipse(65 + 30*i, 190, 30, 30); } ellipse(80, 170, 30, 30); bird(50,0); bird(0,-50) } void bird(int x, int y) { int targetX=mouseX; x += (targetX-x)* easing; fill(255, 165, 0); ellipse(350,80,50,50); pushMatrix(); fill(255, 182, 193); ellipse(x+50,y+200,20,20); triangle(x+35,y+200,x+45,y+195,x+45,y+205); arc(x+75,y+200,50,50,radians(0),radians(180)); arc(x+65,y+200,35,35,radians(300),radians(360)); popMatrix(); }
0 コメント