見出し画像

ボタンのデフォルトの色コードは? 

 例えば、ボタンを押すたびにボタンの色がデフォルト(灰色?)と黄色に変わるようにするため、図1のようにブロックをプログラムした。デフォルトの灰色はBuilt in のColorブロックから灰色(図2の下から3番目)をセット。

図1:ボタンをクリックするたびに、デフォルトの色と黄色に切り替えるプログラム
図2:Built in のColorSブロック

 ところが、実際に動かしてみると、最初のクリックでは、微妙に灰色が濃くなるだけで黄色にならない。つまり、図1、図2で指定した灰色は似てはいるが、デフォルトの灰色とは異なるようだ。
 実際、図3のブロックで色コードに分解してみると、
・デフォルトの灰色は [0, 0, 0, 0] が、Built in のColorブロックの灰色(図2)は [204, 204, 204, 255] になった。

図3:1行目:デフォルトのカラーをRGBAに分解して表示、
          2行目:Built in のColorの灰色をRGBAに分解して表示するブロック

 対応方法は、次の2つがある。
【対応方法1】
 デザイン編集で、ボタンの色を 「Light Gray」に変更する(図4)

図4:ボタンの色(BackgroundColor)を 「Light Gray」 に変更する

【対応方法2】
 Colors ブロックの make color メソッドでデフォルトの灰色を作成し、これを利用する(図5)

図5:デフォルトの色を make color メソッドで作成し、これを利用する

 どちらでも、結果は同じになるが、
ブロックプログラムを簡単にしたければ対応方法1を、デフォルトの色にこだわるのであれば対応方法2を選択することになる。
 Built in のColorsブロックで、デフォルトの灰色を選択できればよかったんだが・・・。

(以上)