色を数値で扱うプログラムにアルファチャンネル(透過度)の情報を追加してみました
【Scratch】色を数値で扱う
色を数値で扱うプログラムです。ネコをキーボードで操作して色に触れると色の名前をいいます カラーパレットから色を選ぶんじゃなくて、数値で色を指定する方法だよ 光の三原色(赤と緑と青)で指定するやつね そうそう。絵具は全部混ぜると黒くなるけど、...
以前作ったプログラムの改良版、透過度を追加したよ
色がどれくらい透明なのかを指定できるんだね
リストに予め登録済みの色情報を元にペンで円を描きます
リストデータ1件の内容は
- 色の名前
- A(透過度)の値(1〜256)
- R(赤の要素)の値(0〜255)
- G(青の要素)の値(0〜255)
- B(緑の要素)の値(0〜255)
の5つです。それぞれの値をカンマ(,)で区切っています
RGBは0〜255なのに、A(透過度)は1〜256なんだね
そうなんだ。試しに透過度を0から10ずつ変更した場合と、1から10ずつ変更した場合をプログラムしてみたよ
透過度0だと透過なしになるんだね
透過度付きの色はこの式で求められます
A(透過度) * 16777216 + R(赤の要素) * 65536 + G(青の要素) * 256 + B(緑の要素)
数字の意味はこの通り
16777216・・・2の24乗(2を24回掛ける)
65536・・・2の16乗(2を16回掛ける)
256は・・・2の8乗(2を8回掛ける)
この式でペンの色を設定して描画できます
ペンの色に透過度は設定できるけど、透過度を設定した色に対する当たり判定はできないよ
下のプログラムは正しく動かないんだね
A(透過度)を256にすれば正しく動くよ
Scratch 3.0に対応した書籍です[PR]
リンク
リンク
リンク
リンク
リンク
リンク
リンク
リンク
リンク
リンク
リンク
リンク
リンク
リンク
リンク
リンク
リンク
リンク