質問: get(i,i); translate(red(pix[i]) , green(pix[i]) , blue(pix[i]));//座標 stroke(red(pix[i]) , green(pix[i]) , blue(pix[i]));//色 sphere(5);//3次元 } } } ``` ### 試したこと mouseClicked()関数を試した ### 補足情報(言語/FW/ツール等のバージョンなど) processing3.2.3
回答: processingで使える道具(クラスなど)について暗いので考え方だけコメントします。 ご質問のコードのdrawは「画面を再描画する際に呼び出される関数」であって、画面更新が必要とシステムが判断した任意のタイミングで呼び出されます。よってその関数がシステムから呼び出されたタイミングでマウスボタンを離している状態では球が表示されない結果になってしまいますね。 考え方を次のようにするとよいと思います。 1. マウスがクリックされたときの処理と描画処理を分離する 2. マウスがクリックされたときにやること 表示すべき球が増えたことを覚える。覚えるのはsetupより上の方にあるグローバル変数(?)にします。球を描画する位置や色を覚えておけばよいでしょう。 マウスがクリックされたときにシステムが呼び出してくれる関数(メソッド?)の名前が決まっているはずです。それが何かを調べてそのような関数を定義して前述の処理を入れればよいです。 3. 描画処理(draw)でやること 2で覚えさせた球の情報の有無をグローバル変数(?)の内容で判断し、もしその情報があるなら球を描画するというふうにします。