- 2009-01-23 (金) 13:47
- ActionScript3.0 | Progression
asdocを見ていたら他にもutilクラスがいくつかあったので、今回はMathUtilクラスを使ってみました。
even
数値が偶数かどうかをtrueかfalseで判定する。
var a:int = 25; var b:int = 39; var c:int = a * b; trace(c); trace(MathUtil.even(c));
これを実行すると、975とfalseが表示される。奇数なので、falseとなるわけですね。
偶数か奇数かを判定するのには、よく%2で割って、余りが0かっていうのを使いますよね?
var a:int = 25;
var b:int = 39;
var c:int = a * b;
if(c % 2 == 0){
trace("偶数です");
}else{
trace("奇数です");
}
これと同じことが、MathUtil.evenを使っても可能です。
var a:int = 25;
var b:int = 39;
var c:int = a * b;
if(MathUtil.even(c) == true){
trace("偶数です");
}else{
trace("奇数です");
};
percent
これを使ってあげると、自分でいろいろ書かなくてもパーセントの値を返してくれます。
trace(MathUtil.percent(300,100) + "%");
これを実行すると、300%と表示されます。
var f:int = 300; var g:int = 100; var h:String = (f / g) * 100 + "%"; trace(h);
わざわざこんなことしなくていい、ということです。
trace(MathUtil.percent(135,35) + "%");
割り切れない数値の場合は、自力で切り捨て、切り上げとかの処理をやるしかないですが…
range
これ、躓きました。
範囲内に適合する値を返します。
と、あったので、僕は適合するかしないかの(正規表現的)判別だと思っていたんです…
Example(二番目の例)にあるように、20は10と30の間にあるかどうかみたいな…
僕の誤った考えでいくと、1と3番目は、適合しないということになってしまいますよね?
0は10と30の間にあるか? 40は10と30の間にあるか? みたいな…(何故10と30になるの? って悩みました…)
そうではなかったのです。(完全に間違いという訳ではなかったんですが…)
多分こんなことだろうと思います。
- 適合させたい数値(第一引数)が、第二引数と第三引数の間にあるかを判別する
- 間にある場合には、その(第一引数の)値を返す
- 間にない場合には、第二引数、第三引数に近い(どちらか一方の)値を返す
あと、第二引数(最小値)の値と第三引数(最大値)の値を、逆に指定してしまっても大丈夫なように、実装されています。
trace(MathUtil.range(0,30,10));
こんな感じに指定してしまっても、きちんと10と返してくれます。
とても親切!
※今回はcycleは扱いませんでした…
- Newer: ラーサラ会&ごはんと新年会
- Older: 明日です!
Comments:0
Trackbacks:1
- Trackback URL for this entry
- http://flabaka.com/blog/wp-trackback.php?p=403
- Listed below are links to weblogs that reference
- MathUtilクラスを使ってみる from flabaka
- pingback from blog.progression.jp» ブログアーカイブ » [お知らせ] 今週の Progression 関連エントリー(2009/01/17 ~ 2009/01/23) 09-01-24 (土) 2:47
-
[...] flabaka / MathUtilクラスを使ってみる [...]