p5.js(ver 1.5.0)において、ある色Aとある色Bが同じかどうかチェックしたいとします。
試しに下記のようなコードを書いてみると、想定とは異なる結果になっています。
colorAとcolorBはどちらも同じ色(color(0))なので等価のはずですが、
結果として「等価でない」扱いになってしまっています。
というわけで、色の等価チェックはこんな感じに書くといいみたいです。
toString()で文字列として比較しちゃえばいいんですね。
color型の中身をコンソールにそのまま出力するとこんな感じです。

.toString()をつけるとこんな感じにしてくれます。比較しやすくなって便利ですね。

get()と合わせてインタラクティブなサンプルを作ってみました。
カーソルが「@」の文字に当たっているかどうかを判定します。
イライラ棒的な遊び方ができそうです。
カーソルのある地点の色をget()で取得し、その色が文字色と同じかどうかをチェックしています。
2つの色が等価であればカーソルは文字に触れいているということになります。
実際に試してみた様子↓
参考 :
p5.js Web Editor | Comparing Pixel Color Information
試しに下記のようなコードを書いてみると、想定とは異なる結果になっています。
See the Pen
p5_colorCheck by reona396 (@reona396)
on CodePen.
colorAとcolorBはどちらも同じ色(color(0))なので等価のはずですが、
結果として「等価でない」扱いになってしまっています。
というわけで、色の等価チェックはこんな感じに書くといいみたいです。
See the Pen
p5_colorCheck2 by reona396 (@reona396)
on CodePen.
toString()で文字列として比較しちゃえばいいんですね。
color型の中身をコンソールにそのまま出力するとこんな感じです。

.toString()をつけるとこんな感じにしてくれます。比較しやすくなって便利ですね。

get()と合わせてインタラクティブなサンプルを作ってみました。
カーソルが「@」の文字に当たっているかどうかを判定します。
イライラ棒的な遊び方ができそうです。
See the Pen
p5_colorCheck3 by reona396 (@reona396)
on CodePen.
カーソルのある地点の色をget()で取得し、その色が文字色と同じかどうかをチェックしています。
2つの色が等価であればカーソルは文字に触れいているということになります。
実際に試してみた様子↓
レオナ@reona396
p5.jsで色が等価かチェックする : だらっと学習帳
2022/12/26 22:52:14
https://t.co/gvcBNEVZ8M
ブログ書きました。
色Aと色Bが同じかどうかチェックしたい話です。
応用すると動画のようなものも作れます。
#p5js… https://t.co/kpmXr1TGN4
参考 :
p5.js Web Editor | Comparing Pixel Color Information