FC2ブログ
スポンサーサイト
--.--.-- (--:--) スポンサー広告
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
色をランダムに変える(乱数を作る)
2005.10.28 (01:21) [ Action Script ]色を変えるtrackback(0)comment(0)
色をランダムに変える(1)の続きです。
アクションスクリプトで乱数(ランダムな数)
を得る事について勉強します。

前回記述しました、アクションスクリプト(以降AS)を見ます。

on (release) {

//ランダムに赤・青・緑を設定
red = Math.floor(Math.random() * 255);
green = Math.floor(Math.random() * 255);
blue = Math.floor(Math.random() * 255);

// 表の色をcolor1に
_root.color1=new Color(_root.nettaigyo.nettaigyo_omote);
// 裏の色をcolor2に
_root.color2=new Color(_root.nettaigyo.nettaigyo_ura);

//color1に色をセット
_root.color1.setRGB((red<<16)+(green<<8)+blue);
//color2に色をセット
_root.color2.setRGB((red*0.8<<16)+(green*0.8<<8)+blue*0.8);

}


どうやら「//ランダムに赤・青・緑を設定」の後の3行が乱数に関わって
いるようです。各行は左側が「red」「green」「blue」と違っている
だけのようなので、「red」の一行を見てみます。

red = Math.floor(Math.random() * 255);

わかりやすいよう色を分けてみました。真ん中に「=」が付いていますが、
ASにおいて「=」は「等しい」の意味では無く
「左の物を右の物に置き換える(代入する)」
って意味になります。
つまり「redMath.floor(Math.random() * 255)を代入する」って訳です。
この時のred変数と呼びます。

 変数は後から使いたい数値や物を保管しておく箱みたいな物です。

最初の3行では「red」「green」「blue」という三つの箱を用意して
それぞれに数値を保管しておくことになります。



ではどんな数値を保管しようとしているのでしょうか?
「red」の行の右側を見てみることにします。

Math.floor(Math.random() * 255);

最初はMath.floor( A )です。
Mathは「数学」って意味なんで、数に関わる処理なんでしょう。
また、floorは「底」って意味です。
よってMath.floor( A )で「Aの値の底を揃える」って訳です。
はい、よくわかりません。
実は「底を揃える」ってのは少数を切り取って整数値に変える
ってことを意味します。
例えば「2.5」は「2」となり、「5.2」も「5.9」も「5」になります。
Math.floor( A )
「Aの値の小数点以下を切り取って整数に変換する」
と言う事になります。

中身Aに当たるMath.random() * 255は何でしょうか。
Math.random()はFlashの中にもともと用意されている
「0以上1未満のランダムな値を発生させる」命令です。
* 255は×(掛ける)255なので、二つあわせると
「0以上255未満のランダムな値を発生させる」って訳です。


これらを合体させるとMath.floor(Math.random() * 255)
「0以上255未満のランダムな値の
小数点以下を切り取って整数に変換した値」

つまり、0~254までのランダムな整数を作り出しているのです。
例えば「0.534・・・」が発生した場合
「0.534・・・」× 255 =「136.17・・・」→小数点以下切捨て→「136」
よって「136」を得る。って流れです。

これを保管用の箱「red」に入れたわけですね。
また箱「green」「blue」でも同じ事が行われています。


では、こうして保管した各数値を、いったいどうしようとしているのでしょうか?


次回、残りのASを読み取ってそれを考えてみたいと思います。



スポンサーサイト
prevhome next












トラックバックURL
→http://netlostman.blog31.fc2.com/tb.php/8-638f4770
home
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。