インデックス置き場はこちら
前回はこちら
●色好きなあなたに
PC8801のベーシックではタートルグラフィックスという機能があった。描画メソッドはそれに似た代物だ。分かる人の方が圧倒的に少ないと思うので、今の喩えは分かる人だけ分かればいい。分かる人がいればの話だが。
MSXやDOS時代のパソコンで線を引く作業というと、始点と終点の座標、色を指定して、それを結ぶ線を引くイメージが強い。うろ覚えだけど、LINE(100,100)-(200,200),15とか。しかし、FLASHの描画メソッドは少し違う。どちらかというと、ペンを使って線を書くのに近い。
ペンを使って線を引くには、まずどうするだろうか。ペンを紙押し当てる?ちょっと待て。そのペンはどこにあるんだい?まずはペンを手に取るところから始めるだろ。
それに当てはまる命令はこれだ。lineStyle()。しかし、これだけではどんなペンなのかを指定できない。黒いインクの万年筆なのか、赤のマッキーなのか。それを指定するのがこの命令だ。
このメソッドにはいくつかの引数を与えて使用する。lineStyle(太さ,色,不透明度)と言うような感じで指定する。他にも色々な引数があり、かなり色々な事ができるようだ。詳しくはWeb……じゃなくてリファレンスで。
太さのパラメータは、太さを表す数字をそのまま入れてやればいい。ParaDrawと同じくピクセル数だ。不透明度も同じ。100で濃く、0なら愚か者には見えないインクで線を引く。賢者はブラックライトで照らすわけだ。良くあるよな、そう言うの。
で、色だ。これの指定だけちょっとややこしいか。色を数値で表現するんだが、その方法について。
パソコンなんかでは、色の表現に加色混合を使っているのは当然知っているよな!知らない?ググれ。
とにかく、RGB、赤と緑と青の濃さで色を指定しているわけだ。この辺もParaDrawと同じだな。で、その表現方法だが、赤の濃さが0〜255で表される時、その数に4096を掛け、同じように緑の濃さの数値に256を掛け、そこに青の濃さを示す数値を足す。例えば黄色なら16777087、ピンクなら16744447になる。数字を一目見ただけでどんな色か……分かるかボケェ!
分かり易くするには、16進数で与えてやればいい。そう言えば今までに16進数の記述の仕方、やってないよな。
16進数を記述する場合、数値の頭に0xをつけてやればいい。0xfとやると15、0x1bとやると27を示すようになる。
ついでに、8進数の書き方も。たまに使いたい時があるかも知れないからな。8進数の場合は数値の頭に0をつけるだけ。010なら8に、
0353211111(代)は61674057になる。
数字の羅列の中に8か9が混ざると10進数扱いになってしまうが自業自得だと思え。4桁の10進数のつもりで0057なんてやると、8進数に強制変換されてしまう。余計な物はつけない方が身のためだと思い知ろう。
0335813111(代)は10進数扱いにされるぞ。
とにかく、16進数で全6桁がカラーコードだ。さっきの黄色なら0xffff7f、ピンクなら0xff7fff、グレーなら0x7f7f7f、クロに限りなく近いグレーなら0x1f1f1f。逮捕秒読みだ。
2桁ずつが1色になっているのでだいぶ分かり易くなる。あとは慣れろ。
ちょっと暗い背景だとして、太めの白い線を引くなら、こうする。
lineStyle(10,0xffffff);
毎度お馴染み行頭全角スペース注意。不透明度は面倒なので略。略すると自動的に100、極限まで濃厚な状態になる。
さあ、ペンを持った状態で続きは次回だ。そのまま数日お待ちください。先っぽ乾いちゃうわな。ペンの。

0