FlxMath

API Reference > flixel.math > FlxMath

FlxMath

数学ユーティリティ関数群



staticメソッド

roundDecimal() : 指定の位で小数部を切り上げます

e.g. roundDecimal(1.2485, 2) -> 1.25
  • 引数
    • Value:Float : 切り上げを行う小数値
    • Precision:Int : 切り上げを行う位
  • 戻り値:Float : 切り上げした小数値

bound() : 指定の範囲内に値を丸めます

Min に null を指定すると Maxの値のみで丸めます。
Max に null を指定すると Minの値のみで丸めます。
  • 引数
    • Value:Float : 丸める値
    • ?Min:Float : 最小の値
    • ?Max:Float : 最大の値
  • 戻り:Float : 丸めた値

lerp() : MinからMaxを線形補間した値を求めます

  • 引数
    • Min:Float : 最小値
    • Max:Float : 最大値
    • Ratio:Float : 補完係数 (0.0〜1.0)
  • 戻り値:Float : 線形補間した値

isBound() : 指定の範囲内に値があるかどうかを判定します

Min に null を指定すると Maxの値のみで判定します。
Max に null を指定すると Minの値のみで判定します。
  • 引数
    • Value:Float : 判定する値
    • ?Min:Float : 最小の値
    • ?Max:Float : 最大の値
  • 戻り:Bool : 指定の範囲内であれば true。そうでなければ false

isOdd() : 奇数かどうかを判定します

整数部のみを使用して判定を行います
  • 引数
    • n:Float : 判定を行う値
  • 戻り値:Bool : 奇数であればtrue

isEven() : 偶数かどうかを判定します

整数部のみを使用して判定を行います
  • 引数
    • n:Float : 判定を行う値
  • 戻り値:Bool : 偶数であればtrue

numericComparison() : 2つの値を比較します

  • 引数
    • num1:Float : 左辺値
    • num2:Float : 右辺値
  • 戻り値:Bool : num1の方が小さければ-1。num1の方が大きければ1。同じ値であれば0

pointInCoordinates?() : 指定の点が、指定の矩形内に存在するかどうかを判定します

境界線上を含みます
  • 引数
    • pointX:Float : 点の座標(X)
    • pointY:Float : 点の座標(Y)
    • rectX:Float : 矩形の左上座標(X)
    • rectY:Float : 矩形の左上座標(Y)
    • rectWidth:Float : 矩形の幅
    • rectHeight:Float : 矩形の高さ
  • 戻り値:Bool : 矩形領域内に点が存在すればtrue

pointInFlxRect?() : 指定の点が、FlxRect?内に存在するかどうかを判定します

境界線上を含みます
  • 引数
    • pointX:Float : 点の座標(X)
    • pointY:Float : 点の座標(Y)
    • rect:FlxRect? : 矩形
  • 戻り値:Bool : FlxRect?内に点が存在すればtrue

mouseInFlxRect?() : マウスカーソルが、FlxRect?内に存在するかどうかを判定します

境界線上を含みます
通常は、useWorldCoordsをtrueはゲームオブジェクトとの判定、
falseは、HUDとの判定に使います
  • 引数
    • useWorldCoords?:Bool : マウスカーソルをワールド座標として判定を行うかどうか
    • rect:FlxRect? : 矩形
  • 戻り値:Bool : FlxRect?内に点が存在すればtrue

maxAdd() : 加算された値を丸めます (整数値)

  • 引数
    • value:Int : 元の値
    • amount:Int : 加算する値
    • max:Int : 最大値
    • min:Int = 0 : 最小値
  • 戻り値:Int : 加算後に丸めた値

wrap() : 指定の範囲外であれば値をループさせます

メニューのカーソルなどに使うと便利です
// e.g. メニューの項目が3つ(0, 1, 2)あり、最後の項目(2)で下に移動(2 -> 3)させたら一番上(0)に戻す
var selected:Int; // カーソル番号
selected = FlxMath.wrap(selected, 0, 2); // 0〜2の間でループする
  • 引数
    • value:Int : ループさせる値
    • min:Int : 最小値
    • max:Int : 最大値
  • 戻り値:Int : ループした値

dotProduct() : 内積を求めます

  • 引数
    • ax:Float : ベクトルAのX成分
    • ay:Float : ベクトルAのY成分
    • bx:Float : ベクトルBのX成分
    • by:Float : ベクトルBのY成分
  • 戻り値:Float : 内積の値

vectorLength() : ベクトルの長さを求めます

  • 引数
    • dx:Float : ベクトルのX成分
    • dy:Float : ベクトルのY成分
  • 戻り値:Float : ベクトルの長さ

getDistance() : 2点間の距離を求めます

  • 引数
  • 戻り値:Float : 2点間の距離

distanceBetween() : 2つのFlxSpriteの間の距離を求めます

isDistanceWithin?() : 2つのFlxSprite間の距離が指定の距離内であるかどうかチェックします

  • 引数
    • SpriteA:FlxSprite : 最初のFlxSprite
    • SpriteB:FlxSprite : 2つ目のFlxSprite
    • Distance:Float : チェックする距離
    • IncludeEqual?:Bool = false : trueを指定するとDistanceと等しい場合でもこの関数がtrueを返すようになります
  • 戻り値:Bool : 指定の距離内であればtrue

distanceToPoint?() : FlxSpriteから指定の座標への距離を求めます

isDistanceToPointWithin?() : FlxSpriteから指定の座標への距離が、一定の距離内であるかどうかチェックします

  • 引数
    • Sprite:FlxSprite : 基点となるFlxSprite
    • Target:FlxPoint : 目標の座標
    • Distance:Float : チェックする距離
    • IncludeEqual?:Bool = false : trueを指定するとDistanceと等しい場合でもこの関数がtrueを返すようになります
  • 戻り値:Bool : 指定の距離内であればtrue
  • 戻り値:Int : 距離