前提・実現したいこと
数式を用いてマウスの方向に白目の中で黒目が向くオブジェクトをプログラムしています。エラーは起きていませんが、黒目が表示されません。また、以下の画像のように目のオブジェクトが5個表示されるはずなのですが、一番右側の白目しか表示されません。
発生している問題・エラーメッセージ
エラーメッセージはありません。
該当のソースコード
processing
1Eye[] eyes=new Eye[5]; 2 3void setup() { 4 size(600, 200); 5 for (int i=0; i<eyes.length; i++) { 6 eyes[i]=new Eye(100+100*i, 100, 50, 20); 7 } 8} 9 10void draw() { 11 for (int i=0; i<eyes.length; i++) { 12 background(255); 13 eyes[i].display(); 14 } 15} 16 17class Eye { 18 int x, y, w, b; 19 20 Eye(int tempX, int tempY, int tempW, int tempB) { 21 x=tempX; 22 y=tempY; 23 w=tempW; 24 b=tempB; 25 } 26 27 void display() { 28 fill(255); 29 ellipse(x, y, w, w); 30 int dx, dy; 31 dx=mouseX-x; 32 dy=mouseY-y; 33 float l; 34 l=sqrt(sq(dx)+sq(dy)); 35 float ex, ey; 36 ex=x+(w-b)*dx/2*l; 37 ey=y+(w-b)*dy/2*l; 38 fill(0); 39 ellipse(ex, ey, b, b); 40 } 41} 42
補足情報(FW/ツールのバージョンなど)
⽩⽬の直径が w、⽩⽬の中⼼の座標が(x,y)、⿊⽬の直径が b、マウスの座標が(mouseX,mouseY)、⿊⽬の中⼼の座標(ex,ey)、マウスの座標と白目の座標の距離を lとしています。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/14 19:01