|
「乱数を加工する」といっても、はじめて乱数に接する方にとっては、小数点以下何桁もある数値がランダムに発生することのイメージがつかみにくいと思います。
■そこで、第4回でご説明した「テキストボックス変数」を利用し、実際に乱数を発生させて、それを目で確認できる「乱数ツール」をFLASHで制作してみることにします。
@FLASH編集画面のメニューバー「ファイル」→「新規」で新しいファイル(random.fla)を作ります。
Aムービー(ドキュメント)の大きさサイズを「500×250」にして、適当に背景色を選択してください。
Bレイヤーは「アクション」「実行ボタン」「テキスト」の3段にし、フレームは2フレームとします。(下図)
C「アクション」レイヤーの2フレームに空白キーフレームを挿入し、そこにフレームアクションで「Stop」アクション又は「this.stop();」として、タイムラインを停止するアクションスクリプトを記載。
※1フレームのフレームアクションについては、ここの”メインテーマ”ですので最後にご説明します。
D「実行ボタン」レイヤーの1フレームに適当に図形と文字を描き、これを「ボタン」インスタンスとします。
そして、ボタンアクションで、
on( release ){ ←クリックされたら
play();(又は「this.play();」) ←タイムラインを進行
}
※ムービーが再生されると、1フレームのフレームアクション(まだ記載されていませんが)を実行して、2フレームで停止、以後ボタンがクリックされるたびに、1フレームのフレームアクションを実行して2フレームで停止するという、ループの仕組みをつくります。
E「テキスト」レイヤーで、文字ツールを使い、下図のように説明用の「静止テキスト」文字の記載と「ダイナミックテキスト」及び「テキスト入力」の「テキストボックス」を配置します。

※黄枠で囲っているのが「ダイナミックテキスト」、赤枠で囲っているのが「テキスト入力」のテキストボックス。
※それ以外の白文字は、内容を説明するための「静止テキスト」で書かれた普通の文字です。
Fテキストボックスにそれぞれ図中、黄文字で書かれた@〜Gまでの「テキストボックス変数」を設定してください。
※冒頭の○数字は記載せず、変数名としては「アルファベット」のみ記載してください。
theRandom RndA など
この内「テキスト入力」の「Cbaisu」、「Dtyosei」については、「ダイナミックテキスト」のテキストボックスにも同じ変数名を2つづつ設定します。
G「テキスト入力」の初期値として、倍数値テキストボックスには「1」、調整値テクストボックスに「0」を記載しておきます。
H最後に、「アクション」レイヤーの1フレームにフレームアクションで、次のように記載します。
theRandom = Math.random(); ←発生した「乱数」の値を変数theRandom
に代入
nBaisu = Number(
baisu ); ←(※1)倍数値を「文字→数値に変換」し、変数nBaisuに代入
nTyosei = Number(
tyosei ); ←(※2)調整値を「文字→数値に変換」し、変数nTyoseiに代入
RndA = theRandom * nBaisu + nTyosei; ←「変数「theRandom×倍数値+調整値」の結果を変数RandA
に代入
RndB = Math.floor( theRandom * nBaisu
+ nTyosei );←上記結果の小数点以下を切捨て変数RndBに代入
minRndB = nTyosei; ←調整値を変数minRndB(RndBの最小値)に代入
maxRndB = ( nBaisu - 1 ) + nTyosei;
←「(倍数値−1)+調整値」を変数maxRndB(RndBの最大値)に代入
kosuRndB = maxRndB - minRndB + 1;←「RndBの最大値−RndBの最小値+1」を変数kosuRndB(個数)に代入
(※1・※2)「テキスト入力」のテキストボックスから入力される変数baisu並びに変数tyosei
の値は、第4回”408”番Bでご説明しているように加減乗除できない”数字文字”です。
したがって、これをそのまま各右辺の計算式の中で使うことができません(使うと”変な答”がでます)。
「Number( ”数字文字”
)」というのは、”数字文字”を、加減乗除できる「数値」に変換する「関数(変換アダプター)」のことで、これを使って、変数の値を”数字文字”から「数値」に変換し、新しく変数nBaisu並びに変数nTyosei
に代入、以後、この新しい変数を計算式の中で使用しています。
※ご参考までに、その逆「数値」を”数字文字”に変換する変換アダプターは、「String(
数値 )」です。
Iメニューバー「制御」→「ムービープレビュー」で動作を確認してください。
以下がそのムービーです(^^
random.fla←このムービーのサンプル制作ファイルです。
ご自分で制作するのが面倒な方は、右クリックして「対象をファイルに保存」でダウンロードできます。
|