ランダムに色を取得するコードについて

具体的なコードに入る前に、まずはコンピュータ上の色の扱いについて理解しておきましょう。

32ビットカラーとは?

現在、一般的なPCで主に使われている色の表現方法は、「32ビットカラー」と呼ばれる方法です。この方法では、1つの画素(ピクセル)ごとにRGBを各8ビット(256色)、計24ビット(256 x 256 x 256 = 1,677万7,216色)の色情報を持ちます。

「え、32ビットカラーなのに24ビットしか使わないの?」と思ったアナタ。拙者もそう思っていた時期がありました。残りの8ビットの扱いはソフトウェアによって様々で、Flashのようにアルファ(不透明度)に割り当てる場合や、ダミー扱いでそもそも利用しない場合、などがあります。

ActionScript 3での色の扱い

ActionScript 3で色を扱うときは、uint型を使います。uint型で表せる値の範囲は、32ビット符号無し整数で「0~42億9,496万7,295」です。つまり、アルファを含めた32ビットカラーを表現することに適しているわけです。

ちなみに、int型は32ビット符号付き整数のため、カラー値を扱うには適していません。

ActionScriptでの16進数の扱い

カラー値は、HTMLのように16進数で表すと扱いやすくなります。ActionScriptで16進数を表すには、数値の頭に「0x」を付けます。例えば「ff0000」→「0xff0000」という具合です。HTMLでいうところの「#」みたいなものですね。

ちなみに桁が少ない時、つまり「0x405b3」という書き方をすると、「0x0405b3」と同じ意味になります。

ランダムに色を取得するコード

さて、ようやく結論です。ランダムに色を取得するには、以下のように書きます。

var _color:uint = 0x1000000 * Math.random();

Math.random()は「0 <= n < 1」の値をランダムで返すので、0x1000000と掛け合わせることで、0x000000~0xffffffをランダムに取得できます。ってな感じです。

よろしければコメントをどうぞ!

匿名希望のコメントはこちらへ

Comment Form

Trackbacks:0

TrackBack URL for this entry
https://448.jp/cgi-bin/mt/bnq48cke.cgi/1381
Listed below are links to weblogs that reference
ランダムに色を取得するコードについて from 448.jp blog

この記事はいかがでしたか?

ぜひ共有してみてください。あなたのフィードバックが、私のモチベーションにつながります。

×