Mathクラス
 MathクラスのMathメソッド、プロパティはおみくじを作ったり、数字をランダムに発生させたり、絶対値を求めたりする事ができます。クラスを始めて聞いた方も多いと思いますので、少しクラスについても説明しますが、まだクラスを理解していなくても大丈夫です。

 右のswfファイルを見てください。簡単に説明しますと、Mathクラスという箱の中には全てのMathメソッドが入っています。Mathメソッドを使う時はこのMathクラスという箱の中から呼び出して使用しています。Mathクラスは数学的な事を行う部品が詰め込まれています。ちなみにplay(); stop(); getURL();などが入ってるクラスはMovieClipクラスです。

↓少し難しく説明↓

 ここは飛ばして読んでもいいです。 クラスはオブジェクト(部品)を定義するものであり、例えばStringクラスで作成されたオブジェクトはString型になるという事です。クラスからオブジェクトを作成する事を※インスタンス化と呼びます。つまりクラスは作成するオブジェクトが持っているデータ、処理機能が記述され設計図、雛形と言えます。

※上記の説明で記述したインスタンス化はシンボルを作ってインスタンス化する事とは異なります。


↑ドラッグして外に出すことができます。
Mathメソッドを使ってみる。

Mathメソッドの中にはMath.random();という擬似乱数を発生させるものがあります。このMath.random();だけだと 0.000…〜0.999…まで数字をランダムで発生させます。(0 <= n < 1)

0.000…から4.999…までの数字を発生させたい場合は Math.random()*5;
0.000…から9.999…までの数字を発生させたい場合は Math.random()*10;

今度は1から6までランダムに数字が表示されるようにするにはどうすればよいでしょうか?
とりあえず小数点が邪魔ですね?今回はランダムに表示される数字の小数点を切り上げて整数にする Math.ceil();を使います。
Math.randam();で発生した擬似乱数をMath.ceil();で小数点以下を切り上げて整数にする。つまりこの二つのMathメソッドを使うとできます。

Math.ceil(Math.random());

上記の様な形を理解できましたか?

次に1〜6までの数字を発生させたい時はMath.random()*6と設定してそれをMath.ceilで切り上げるだけです。
Math.ceil(Math.random()*6);
どうして6なのか?これは上記でも説明しましたが、7と設定すれば0.000…〜5.999…まで擬似乱数を発生してくれるからです。

ちなみにMath.floor(Math.random()*7)+1;でも同じ結果となります。Math.floorは小数点以下を切り捨ててくれます。

ちょっと自分で試してみましょう。
 最初にステージにボタンとダイナミックテキストを配置してそのダイナミックテキストの変数名をdText_txtと名付けてください。そして以下のスクリプトを記述してみてください。

on (release) {
this.dText_txt = Math.ceil(Math.random()*6);
}
 うまくできましたか?色々な使い方があるので他のメソッドも試してみてください。
 右のswfファイルでは10の数字をnに代入しています。左のボタンは0から10.9999…の間でのランダム数値を発生させています。右のボタンはMath.floorを使用してMath.randamで発生させたを擬似乱数を切り上げて整数を返しています。(1〜10までの数値)それぞれのボタンを押して試してみてください。
円運動
 FLASHでは円運動を実現させるときに三角関数を使用すると便利です。これらもMathメソッドを使用する事で表現できます。もちろんガイドレイヤーとモーショントゥイーンを使ってオブジェクトを円運動させる事も可能です。
ラジアンに関して

 Math オブジェクトを使用して円運動を実現させる時にラジアンというものを耳にすると思います。三角関数等の話になるのですが、円の角度は360°決められているよう、ただ単に角度のを表現する為の単位でしかありません。円運動等を表現させるには距離等が必要となります。この長さを表現する為に用いたものがラジアン(rad)です。

 半径1の円(円単位)の中心がO(オー)として、その円周上にAという点を取ります。A点からスタート地点として動く点をP点とします。A点からP点までθとします。

∠AOP =θラジアン

と定めるようにしました。角の大きさを単位円の弧の長さで表すので弧度法と呼ばれています。

 例えばOPが180°の場合∠AOP = 180°となります。 次に円周の長さの求め方を考えてください。
円周の長さの求め方は 直径 x π(3.14)です。単位円での直径は2なので 2π となります。
180°ではその半分でπとなります。そうすると

∠AOP =πrad となります。つまり
180° = πrad  とい置き換える事ができます。

この関係式を理解したらラジアンを角度にしたり、その逆もできるようになります。

1°= πrad/180 ≒ 0.0175 rad
1rad = 180°/π ≒ 57.2958°

≒は約という記号。

数値を入れて色々試してください。MathクラスのMath.PI というプロパティを使用しています。
ラジアンを度数に変換
度数 = ラジアン*180/Math.PI
度数をラジアンに変換
ラジアン = 度数*Math.PI/180
 下記の表にメソッド、プロパティを紹介しておきます。例えば一番最初にあるMath.abs();は()の中に入れた値の絶対値を計算してくれます。絶対値というのは、何て説明したらいいかな・・・?0から入れた値までどのくらい離れているかの範囲を計算してくれます。例えば値が3なら0からは3離れているので、絶対値は3。じゃあ-3はとなると、これもまた0から3つ離れているので、3になります。まだまだたくさんありますので、FLASHのステージでtrace();やボタン、ダイナミックテキスト等を使用して試してみてください。

Mathクラスのメソッド一覧

説明

Math.abs()

絶対値を計算します。

Math.acos()

アークコサインを計算します。

Math.asin()

アークサインを計算します。

Math.atan()

アークタンジェントを計算します。

Math.atan2()

x 軸から点までの角度を計算します。

Math.ceil()

数値を最も近い整数に切り上げます。

Math.cos()

コサインを計算します。

Math.exp()

指数値を計算します。

Math.floor()

数値を最も近い整数に切り捨てます。

Math.log()

自然対数を計算します。

Math.max()

2 つの整数を比べ、大きい方を返します。

Math.min()

2 つの整数を比較し、小さい方を返します。

Math.pow()

xy 乗を計算します。

Math.random()

0.0 〜 1.0 の疑似乱数を返します。

Math.round()

整数に四捨五入します。

Math.sin()

サインを計算します。

Math.sqrt()

平方根を計算します。

Math.tan()

タンジェントを計算します。

次の Math クラスのプロパティはすべて定数です。

Mathクラスのプロパティ一覧

説明

Math.E

オイラー定数、つまり自然対数の基数 (約 2.718)。

Math.LN2

2 の自然対数 (約 0.693)。

Math.LOG2E

e の基数 2 の対数 (約 1.442)。

Math.LN2

10 の自然対数 (約 2.302)。

Math.LOG10E

e の基数 10 の対数 (約 0.434)。

Math.PI

円周と円の直径との比 (約 3.14159)。π。

Math.SQRT1_2

1/2 の平方根の逆数 (約 0.707)。

Math.SQRT2

2 の平方根 (約 1.414)。