- 2009年11月17日 21:09
- Technology
- Comments: 0
- TrackBacks: 0
- Edit
具体的なコードに入る前に、まずはコンピュータ上の色の扱いについて理解しておきましょう。
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をランダムに取得できます。ってな感じです。
よろしければコメントをどうぞ!
匿名希望のコメントはこちらへ
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